【Ruby】特定条件のみに呼応するプログラムの作成
今日の曜日を表示するコードをDateクラスを使用して記述する。
ただし、金曜日だった場合だけ以下のように表示の内容を変えたい!
(出力内容)
「今日は月曜日」
「今日は金曜日だ !!!」
【模範解答】
require "date"
day = Date.today.wday
days = ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"]
if day == 5
puts "今日は#{days[day]}だ!!!"
else
puts "今日は#{days[day]}"
end
【自分への解説】
◯Dateクラス
DateクラスとはRubyの標準ライブラリの機能。Dateクラスを使うには以下一文を記述する。
require "date"
次に、Dateクラスを用いて「今日の曜日」を取得する場合は以下のように記述する。
Date.today.wday
wdayは曜日を0(日曜日)から6(土曜日)の整数で取得することができる、Dateクラスに用意されているメソッドのこと。
require "date"
day = Date.today.wday
puts day
例えば上記コードを入力すると、曜日に合わせた数字がターミナル上で出力される。
◯コードを細かくみていく
require "date"
↑
まずはDateクラスの使用を宣言
day = Date.today.wday
↑
ここで、wdayメソッドを用いて曜日を0(日曜日)から6(土曜日)の整数にしたときの「今日」の値を取得します。
days = ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"]
0. 1. 2 3. 4. 5. 6
↑
ここで、配列daysを定義し、先程の、日曜日(0番)~土曜日(6番目)まで文字列を格納する。
if day == 5
puts "今日は#{days[day]}だ!!!"
else
puts "今日は#{days[day]}"
end
↑
ここからはif文。
配列を取得するためには
配列[添字]
という記述が必要。
ここで、配列[添字]を当てはめると
days[day]となり、puts以降の文が完成する。