Lua的局部变量

时间:2022-01-23 02:27:01

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