こんなん今の今まで知らんかったわ。 irb> true || true && false #=> true irb> true or true and false #=> false irb> true || false && false #=> true irb> true or false and false #=> falseまじですかー! 何やねん、これ。 マニュアル見ると、and と or の優先順位が一緒だった。つまり '&&' > '||' なのに 'and' == 'or' ですよ。 これに基づくと、上のはこう解釈されていることになる。 irb> true || (true && false) #=> true irb> (true or true) and false #=> false irb> true || (false && false) #=> true irb