标签: ruby
我最近被认为是一个难以编程的问题:
p var if var = 0.zero?的输出是什么(问号是代码的一部分)。
p var if var = 0.zero?
我的假设是首先评估0.zero?,然后返回true,然后var = true,这会将var设置为true并返回{{1}因此,true会打印p var if true。
0.zero?
true
var = true
var
p var if true
但事实并非如此。 Ruby引发错误true
undefined local variable or method `var' ...
这里发生了什么?
答案 0 :(得分:0)
查看Local Variables and Methods
解析器遇到局部变量时会创建局部变量 分配,而不是在分配发生时