为什么一切都变得真实,如果条件错误的话?

时间:2015-03-25 06:11:01

标签: ruby if-statement

为什么在使用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

1 个答案:

答案 0 :(得分:5)

除了truefalse之外,所有内容都评估为nil

PS:这里没有隐藏的目标,它只是语言设计的选择。