37
我看了這個video。爲什麼a = a
評估爲nil
如果a
未定義?當它看到一個分配給它爲什麼Ruby中的a = a`` nil`?
a = a # => nil
b = c = q = C# => nil
我看了這個video。爲什麼a = a
評估爲nil
如果a
未定義?當它看到一個分配給它爲什麼Ruby中的a = a`` nil`?
a = a # => nil
b = c = q = C# => nil
Ruby解釋器初始化與nil
局部變量。它在執行賦值表達式之前初始化局部變量,或者甚至在賦值不可達時(如下例所示)。這意味着您的代碼將使用nil
初始化a
,然後表達式a = nil
將評估爲右側值。
a = 1 if false
a.nil? # => true
第一賦值表達式不被執行,但a
與nil
初始化。