为什么`p var if var = 0.zero?`引发错误?

时间:2015-04-10 06:29:03

标签: ruby

我最近被认为是一个难以编程的问题:

  

p var if var = 0.zero?的输出是什么(问号是代码的一部分)。

我的假设是首先评估0.zero?,然后返回true,然后var = true,这会将var设置为true并返回{{1}因此,true会打印p var if true

但事实并非如此。 Ruby引发错误true

undefined local variable or method `var' ...

这里发生了什么?

1 个答案:

答案 0 :(得分:0)

查看Local Variables and Methods

  

解析器遇到局部变量时会创建局部变量   分配,而不是在分配发生时