LoginSignup
0
0

More than 1 year has passed since last update.

指定された範囲の数値(時間)によって処理が異なるプログラム

Posted at

今日も学んだ事を忘れない為にメモします

プログラム内容

第一引数に音が鳴った場合は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時以降の時間帯の指定をしている。

以上になります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0