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。