こんにちは、プログラミング初学者"fujitacoma"です!
今回は、Ruby練習問題シリーズの4回目です。
Dateクラスを使用し、曜日を呼び出すプログラム問題です!
それでは早速始めます!
問題
今日の曜日を表示するコードをDateクラスを使用して記述してください。
ただし、金曜日だった場合だけ以下のように表示の内容を変えてください。
(出力内容)
「今日は月曜日」
「今日は金曜日だ !!!」
ヒント
Dateクラス
DateクラスとはRubyの標準ライブラリの機能です。Dateクラスを使うには以下一文を記述します。
require "date"
次に、Dateクラスを用いて「今日の曜日」を取得する場合は以下のように記述します。
Date.today.wday
wday
は曜日を0(日曜日)から6(土曜日)の整数で取得することができる
Dateクラスに用意されているメソッドです。
たとえば、以下のように使うことができます。
require "date"
day = Date.today.wday
puts day
これを実行すると、曜日に合わせた数字が出力されます。
たとえば、木曜日だとすれば4が出力されることになります。
これを踏まえて、問題を解いてみましょう!
解答と解説
模範解答
require "date"
day = Date.today.wday
days = ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"]
if day == 5
puts "今日は#{days[day]}だ!!!"
else
puts "今日は#{days[day]}"
end
解説
今回はRubyで日付を扱うため、RubyのライブラリにあるDateクラスを使用します。
(1行目)Dateクラスをライブラリから呼び出します。
(3行目)wdayメソッドを用いて曜日を0(日曜日)から6(土曜日)の整数にしたときの「今日」の値を取得します。
(4行目)配列daysを定義し、日曜日(0番)〜土曜日(6番目)まで文字列を格納します。
(6〜10行目)dayの値が5(金曜日)か否かで条件分岐させます。たとえば、今日が金曜日だった場合はday=5
となり、daysの5番目の値である金曜日
が出力されるようになります。
最後に
いかがでしたでしょうか!
シンプルですが、曜日の呼び出し等細かいところにミスを誘うポイントがありますね。
しっかり引っかかりました。笑
精進します。
ここまでお読み頂き、有難うございました!