その日は何曜日? (Ruby)

Ruby で日付から曜日を知るにはどうしたらよいか、遊びで考えてみました。


下のコードを実行すると、こんな感じ。
曜日を知りたい日付をコマンドライン引数にして実行します。

$ ruby what_day_of_the_week.rb 1989.1.8
1989-01-08 は 日曜日です。

引数なしで実行すると、その日の曜日を出力します。

$ ruby what_day_of_the_week.rb
2018-01-26 は 金曜日です。

 
コードはこんな具合です。
what_day_of_the_week.rb

require 'date'

week = %w(日 月 火 水 木 金 土)
d = if ARGV[0]
  a = ARGV[0].split(".").map(&:to_i)
  Date.new(*a)
else
  Date.today
end
puts "#{d}#{week[d.wday]}曜日です。"

標準添付ライブラリ 'date' を使っています。