rubyのand と &&、or と ||

rubyand&&は同じだと勘違いしていたので覚え書き

and&&は一緒なんだけど演算子の優先度が違う

Ruby リファレンス

なので以下のようになる

p true and false   # => true
p true && false    # => false

上の式は

(p true) and false

となりfalseのほうはそもそも表示されない. なのでもしandで書くなら

p (true and false)   # => false

となり,予想通りの結果になる これはor||でも一緒.