&&とか||の返り値
&&と||の返り値に関して調べたので、メモ。
1 || 2 #=> 1 1 && 2 #=> 2
このようになるらしい。
というのも、
1 || 2 # この評価の時に、まずは、1をture/falseで評価するので、trueと評価され1が返る # && の評価も同様のロジック
直感的に、以下のように記述したくなることがあるらしいので、要注意。。。
if hoge == (1||2) p "if文を通過" end
上記の場合、hoge #=> 2のときは、falseを返すことになる。
条件分岐するときは、条件式を二つ書くか、case使えばいいと言う事になる。
if hoge == 1 || hoge == 2 p "if文を通過" end case hoge when 1, 2 p "if文を通過" end
最後までお読みいただきありがとうございました。