为什么在使用if条件检查时,所有true,numeric,float和string都变为true,除了false?例子:
puts "Hello World" if 0 # => Hello World
puts "Hello World" if 1 # => Hello World
puts "Hello World" if 2 # => Hello World
puts "Hello World" if 200 # => Hello World
puts "Hello World" if "Ruby" # => Hello World
puts "Hello World" if "Rails" # => Hello World
puts "Hello World" if true # => Hello World
puts "Hello World" if false # => nil
答案 0 :(得分:5)
除了true
和false
之外,所有内容都评估为nil
。
PS:这里没有隐藏的目标,它只是语言设计的选择。