为什么在Ruby中,表达式().nil?的值为true?
()
是一个空表达式,其结果为 nil
。nil
。 ()
本身不会引起任何动作,因此仅为 ()
的表达式没有特别的返回值。因此,表达式的结果被设置为 nil
,所以 ().nil?
评估为空表达式,决定没有什么可以返回,因此返回 nil
。这确实等于 nil
,因此 nil?
返回 true
。在irb中玩耍...
a = ()
a.class # => NilClass
a.nil? # => true