所有对象都可以在 Ruby 中转换为布尔值
使用双重否定语法检查值的真实性。所有值都对应于布尔值,无论其类型如何。
irb(main):001:0> !!1234
=> true
irb(main):002:0> !!"Hello, world!"
(irb):2: warning: string literal in condition
=> true
irb(main):003:0> !!true
=> true
irb(main):005:0> !!{a:'b'}
=> true
除 nil
和 false
之外的所有值都是真实的。
irb(main):006:0> !!nil
=> false
irb(main):007:0> !!false
=> false