2012-01-18 111 views

回答

56

Ruby解釋器初始化與nil局部變量。它在執行賦值表達式之前初始化局部變量,或者甚至在賦值不可達時(如下例所示)。這意味着您的代碼將使用nil初始化a,然後表達式a = nil將評估爲右側值。

a = 1 if false 
a.nil? # => true 

第一賦值表達式不被執行,但anil初始化。

相關問題