Dateクラスとは
Rubyの標準ライブラリの機能です。
Dateクラスを使うには以下一文を記述します。
require "date"
次に、Dateクラスを用いて
「今日の曜日」を取得する場合は以下のように記述します。
day = Date.today.wday
wdayは曜日を0(日曜日)から6(土曜日)の整数で取得することができるDateクラスに用意されているメソッドです。
例えば、木曜日なら 4 が出力されるわけですね!
どうすれば、「今日は木曜日です」と出力されるか考えてみました。
require "date"
day = Date.today.wday
if day == 0
puts "今日は日曜日"
elsif day == 1
puts "今日は月曜日"
elsif day == 2
puts "今日は火曜日"
elsif day == 3
puts "今日は水曜日"
elsif day == 4
puts "今日は木曜日"
elsif day == 5
puts "今日は金曜だ!!!"
else
puts "今日は土曜日"
end
If文が長いので、リファクタリングできそうですね。
出力されるのが数字というのがポイントで、
配列を使用して出力される数字を添字に代入すれば上記と同じ結果が得られそうです。
require "date"
day = Date.today.wday
days = ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"]
puts "今日は#{days[day]}"
コンパクトにまとまりました。
If文を使うなら、特定の曜日でコメントを変える時に使うという方がいいですね。
まだまだ、コードを短くする記述ができないのでやりながら覚えていきたいと思います!