ここでビットごとの OR がブール値を返すのはなぜですか。すべての演算子の中で、ビットごとの演算子にはあまり期待できません。
nil | 5 # => true
nil | 0 # => true
nil | true # => true
nil | false # => false
nil | nil # => false
ここでビットごとの 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.