2

Why does bitwise OR return a boolean here. Of all the operators, I would least expect that from bitwise ones.

nil | 5 # => true
nil | 0 # => true
nil | true # => true
nil | false # => false
nil | nil # => false
Sergio Tulentsev
  • 226,338
  • 43
  • 373
  • 367

1 Answers1

0

Found an answer in the same topic :)

Turns out that NilClass#| is overridden:

false | obj → true or false
nil | obj → true or false
Or—Returns false if obj is nil or false; true otherwise.
Community
  • 1
  • 1
Sergio Tulentsev
  • 226,338
  • 43
  • 373
  • 367