##はじめに
現在はオリジナナルアプリの作成しつつ、毎朝送られてくるrubyドリルを復習しております。
本日もrubyドリルのアプトプットをします!
##問題
19時から翌朝6時までにオウムに喋られると近所迷惑なのでその場合は「NG」、
それ以外は「OK」と出力するメソッドを作成します。
オウムが喋る時をtrue、喋らない時をfalseと入力することにし、時刻も同時に入力します。
.rb
#呼び出し方
parrot_trouble(talking, hour)
#出力例
parrot_trouble(true, 5) → NG
parrot_trouble(true, 7) → OK
parrot_trouble(false, 6) → OK
##ヒント
〜だった時、かつ〜だった時
19時〜6時をどのように記述するか
##解答
.rb
def parrot_trouble(talking, hour)
if talking && (hour < 6 || hour >= 19)
puts "NG"
else
puts "OK"
end
end
オウムが喋ろうとしているときの時間帯が、19時から翌朝6時の時はNGを表示し、それ以外の時にOKを表示させます。
if talking と記述する事でtureの場合と判断されます。
.rb
(hour < 6 || hour >= 20)
# || という記述で「または」を意味します。(orのような感じ)
# 言葉にするとhourが6より小さい時、または20か、それより大きい時
どちらとも条件が成り立つ時に「NG」を出したいので
.rb
if talking && (hour < 6 || hour >= 19)
# && 短終論理演算子で左辺かつ右辺がtureの時
trueだった場合にif文の全ての条件が真になり、”NG”が表示されます
演算子はwebアプリを作る際に何度も何度も使うので必ず理解が必要です。