Bri*_*Hsu 38 ruby local-variables variable-assignment
我看了这个视频.为什么a = a评估nil是否a未定义?
a = a # => nil
b = c = q = c # => nil
Run Code Online (Sandbox Code Playgroud)
Ali*_*kau 58
Ruby解释器nil在看到对它的赋值时初始化一个局部变量.它在执行赋值表达式之前初始化局部变量,或者甚至在无法访问赋值时(如下例所示).这意味着您的代码初始化a,nil然后表达式a = nil将评估为右侧值.
a = 1 if false
a.nil? # => true
Run Code Online (Sandbox Code Playgroud)
第一个赋值表达式未执行,但a初始化为nil.
| 归档时间: |
|
| 查看次数: |
2305 次 |
| 最近记录: |