【发布时间】:2013-09-23 22:40:16
【问题描述】:
我有以下代码,我想了解该加法器函数中变量的范围。它如何能够在通话时保留x 值?
function adder(x)
return function (y) return x + y end
end
a1 = adder(9)
a2 = adder(36)
print(a1(33)) -- 42 how this can able to retain the value of x
print(a2(64)) -- 100
当我第二次调用那个加法器函数时,我得到了42。这怎么可能?
【问题讨论】: