Ruby and/or Precedence Surprise

In Ruby, and and or have the same precedence! Matz may not be surprised, but I really am. In Ruby && has higher precedence than ||. This is what we’re used to from C and its imitators. Therefore, true || false && false is true but, watch out, true or false and false is false. Observe the truth table:

x y z x || y && z x or y and z
true true true true true
true true false true false
true false true true true
true false false true false
false true true true true
false true false false false
false false true false false
false false false false false