and
has lower precedence, mostly we use it as a control-flow modifier such as if
:
next if widget = widgets.pop
becomes
widget = widgets.pop and next
For or
:
raise "Not ready!" unless ready_to_rock?
becomes
ready_to_rock? or raise "Not ready!"
I prefer to use if
but not and
, because if
is more intelligible, so I just ignore and
and or
.
Refer to "Using “and” and “or” in Ruby" for more information.