The difference is precedence. ||
, &&
have higher precedence than =
, but and
, or
have lower. So while you can do:
a = nil || 0
You would have to do:
a = (nil or 0)
to get same effect. If you do:
a = nil or 0
The result of expression would still be 0, but a value would be nil.