为什么a =评估为零?
问题描述:
在由加里·伯恩哈特交付的幽默lightning talk - Wat,下面的代码计算到零:
a = a
#=> nil
但其他什么比自赋值结果在NameError中
b = c
#=> NameError: undefined local variable or method `c' for main:Object
有人请解释为什么a = a
的计算结果为nil
?
答
因为分配给a
会为该范围创建a
。分配给b
不会创建c
。