2010-01-27 75 views

回答

9

簡單的回答:()是一個空的表達式,計算結果爲nil

更詳細:所有表達式在Ruby中都有結果,如果沒有更好的返回結果,返回nil()本身不會引起任何動作,所以僅僅是()的表達式沒有特別的返回。因此,表達式的結果設置爲nil,因此().nil?評估空表達式,決定沒有什麼要返回的,因此返回nil。這確實等於nil,所以nil?true

+0

每當我想起紅寶石做是令人驚訝的我,再次讓我。誰會想到()是一個有效的表達式? – 2010-01-28 00:41:23

+1

+1「沒什麼值得回報的」 – klochner 2010-01-28 00:52:31

+0

+1誰知道Ruby在評估表達式時如此悠閒呢? – 2010-01-28 00:56:47

2

在IRB播放...

a =() 
a.class # => NilClass 
a.nil? # => true