Ruby中的or和运算符有什么区别?||还是只是偏好?
or
||
这是运算符优先级的问题。
||的优先级高于or。
因此,在这两者之间还有其他运算符,包括三元 ( ? :) 和赋值 ( =),因此您选择哪一个会影响语句的结果。
? :
=
这是一个ruby 运算符优先级表。
另外,请注意可能发生的一些令人讨厌的事情:
a = false || true #=> true a #=> true a = false or true #=> true a #=> false
前两个语句都计算为true,但第二个设置a为false因为=优先级低于||但高于or。
true
a
false