lua可视化规则

2017-01-15  本文已影响90人  Lee坚武

每次执行到一个 local 语句都会定义出一个新的局部变量。 看看这样一个例子:

a = {}

local x = 20

for i=1,10 do

local y = 0

a[i] = function () y=y+1; return x+y end

end

这个循环创建了十个 closure(这指十个匿名函数的实例)。 这些 closure 中的每一个都使用了不同的y变量, 而它们又共享了同一份x。

上一篇 下一篇

猜你喜欢

热点阅读