在Gary Bernhardt提供的幽默lightning talk - Wat中,以下代码评估为nil:
a = a
#=> nil
但除了自我赋值之外的任何事都会导致NameError
b = c
#=> NameError: undefined local variable or method `c' for main:Object
有人可以解释为什么a = a
评估为nil
?
答案 0 :(得分:2)
因为a
的分配会为该范围创建a
。分配到b
不会创建c
。