police_troubleメソッドを実装。
あなたは警官です。
aとb二人の容疑者の取り調べをしています。このとき、次のルールで証言の真偽判定を行います。
※問題文で登場したaとb二人の容疑者は、今回実装するpolice_troubleメソッドの引数として取り扱っていきます。
- 第一引数aと第二引数bどちらの証言も真(true)であれば、Trueを出力すること
- 第一引数aと第二引数bどちらの証言も偽(false)であれば、Trueを出力すること
- 第一引数aと第二引数bで証言の真偽が一致しない場合であれば、Falseを出力すること
雛形
def police_trouble(a, b)
# ここに条件式を記述する
end
# 呼び出し例
police_trouble(true, true)
police_trouble(false, false)
police_trouble(true, false)
出力例
police_trouble(true, true) → True
police_trouble(false, false) → True
police_trouble(true, false) → False
論理演算子とは
真(true)と偽(false)の確認や演算を行うときに使われる演算子(記号・符号)のこと。
ifなどの要件分岐を実装するとき、条件式に複数の条件を組み合わせるために用いられる。
複数の条件を組み合わせた条件式
論理演算子 && , || , ! を使う。
# aもbもtrueの場合にtrue
a && b
# aかbのどちらかがtrueの場合にtrue
a || b
# aがtrueの場合にfalse、aがfalseの場合にtrue
!a
回答
def police_trouble(a, b)
if (a && b) || (!a && !b)
puts "True"
else
puts "False"
end
end
# 呼び出し例
police_trouble(true, true)
police_trouble(false, false)
police_trouble(true, false)
2行目の説明
(a && b)
aとbの証言がどちらもtrue
||
または
(!a && !b)
aとbの証言がどちらもfalse
この場合、
"true" を出力する。
それ以外、つまり(a && b) || (!a && !b)に当てはまらないのであれば、"false" を出力する。