每次執(zhí)行到一個 local 語句都會定義出一個新的局部變量。 看看這樣一個例子:
a = {}
local x = 20
for i=1,10 do
local y = 0
a[i] = function () y=y+1; return x+y end
end
這個循環(huán)創(chuàng)建了十個 closure(這指十個匿名函數(shù)的實(shí)例)。 這些 closure 中的每一個都使用了不同的y變量, 而它們又共享了同一份x。
每次執(zhí)行到一個 local 語句都會定義出一個新的局部變量。 看看這樣一個例子:
a = {}
local x = 20
for i=1,10 do
local y = 0
a[i] = function () y=y+1; return x+y end
end
這個循環(huán)創(chuàng)建了十個 closure(這指十個匿名函數(shù)的實(shí)例)。 這些 closure 中的每一個都使用了不同的y變量, 而它們又共享了同一份x。