作为标题,以下两个陈述相同:
if val
和
if !val.nil?
答案 0 :(得分:2)
没有
2.0.0-p481 :001 > val = false
=> false
2.0.0-p481 :002 > val.nil?
=> false
在红宝石中,nil
和false
都是假的,但只有nil
为零。
答案 1 :(得分:0)
不,两者都不同。这是一个例子
irb(main):001:0> val = 10
=> 10
irb(main):002:0> if val
irb(main):003:1> puts"kranthi"
irb(main):004:1> end
kranthi
=> nil
irb(main):005:0> val = nil
=> nil
irb(main):006:0> if val
irb(main):007:1> puts"kranthi"
irb(main):008:1> end
=> nil
irb(main):009:0> val = "test"
=> "test"
irb(main):010:0> if val
irb(main):011:1> puts "kranthi"
irb(main):012:1> end
kranthi
=> nil