Ruby nil、true 与 false
Ruby 用 nil 表示没有值,用 true 和 false 表示布尔值。它们看起来简单,但真值规则非常重要。
nil
value = nil
puts value.nil?
puts value.class
nil? 用于判断对象是否为 nil。
true 和 false
active = true
deleted = false
puts active.class
puts deleted.class
true 是 TrueClass 的实例,false 是 FalseClass 的实例。
Ruby 的真值规则
Ruby 中只有 nil 和 false 是假值,其他所有对象都是真值。
puts "yes" if 0
puts "yes" if ""
puts "yes" if []
puts "yes" if {}
这些都会输出。
这和一些语言不同。不要把 0、空字符串、空数组当作假值。