Lua可以用local定义局部变量,
当多次对同一个变量名使用local, 将定义不同的局部变量.
如果局部变量是在一个循环内部定义的,则每次循环都是一个新的局部变量.
当非全局函数使用upvalue的局部变量,到底是使用哪一个,
是由这个函数生成的时候这个变量决定的.
如果有两个互相调用的局部函数,
则需要提前声明局部变量,
这样在定义函数的时候,就不可再写local
local data = 100;
local function fun1()
print(data);
data = data+50;
end
data = 200;
local data = 300; -- 重新定义一个局部变量
local function fun2()
print(data);
data = data+50;
end
data = 400;
--调用
fun1(); -- 200
fun2(); -- 400
fun1(); -- 250
fun2(); -- 450