2012-01-18 113 views

回答

56

Ruby解释器初始化与nil局部变量。它在执行赋值表达式之前初始化局部变量,或者甚至在赋值不可达时(如下例所示)。这意味着您的代码将使用nil初始化a,然后表达式a = nil将评估为右侧值。

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

第一赋值表达式不被执行,但anil初始化。

相关问题