今日も学んだ事を忘れない為にメモします
プログラム内容
第一引数に音が鳴った場合はtrueを指定し、鳴らない場合はfalseを指定する。(trueとfalseは真偽値)
第二引数に時間を指定し、指定した時間内(今回は21時から翌朝8時)に鳴った場合は"NG"を出力。
指定した時間内に鳴らない場合は"OK"を出力する。
記述内容
def siren_sound(sound, hour)
if sound && (hour < 8 || hour > 21)
puts "NG"
else
puts "OK"
end
end
siren_sound(false, 12)
siren_sound(true, 22)
出力結果
OK
NG
第一引数soundの条件式は真偽の判定を行うだけなので、trueが入っているときに真(true)と判断される。
肝心なのは第二引数のhourの条件式。
2つの条件式が真(true)のとき「NG」が表示され、それ以外のとき「OK」が表示されるようにしたいので、それらを結ぶ演算子として「&&」を使用する。
判定したいのは、時間帯が「21時から翌朝8時までの間」か「それ以外」かという事。そのため、第二引数hourがtrueとなる条件式は(hour < 8 || hour > 21)と記述する。
hour < 8で0時から8時まで、hour > 21で21時以降の時間帯の指定をしている。
以上になります。