当其中一个操作数为nil时,Bitwise OR返回布尔值
为什么按位OR在这里返回一个布尔值。 在所有运算符中,我最不希望从按位运算符中获得。
nil | 5 # => true nil | 0 # => true nil | true # => true nil | false # => false nil | nil # => false
在同一主题中找到答案 🙂
原来那个NilClass#| 被覆盖:
false | obj → true or false nil | obj → true or false Or—Returns false if obj is nil or false; true otherwise.