Lua 变量
变量在使用前,必须在代码中进行声明,即创建该变量。
编译程序执行代码之前编译器需要知道如何给语句变量开辟存储区,用于存储变量的值。
Lua 变量有三种类型:全局变量、局部变量、表中的域。
Lua 中的变量全是全局变量,那怕是语句块或是函数里,除非用 local 显式声明为局部变量。
局部变量的作用域为从声明位置开始到所在语句块结束。
变量的默认值均为 nil。
例如
a = 5; --全局变量
local b = 5; --局部变量
function joke()
c = 5; --全局变量
local d = 6; --局部变量
end
joke()
print(c, d) --c为全局变量所以为5,d没有定义为nil
---------------此处为新作用范围
do
local a = 6; --局部变量
b = 6; --全局变量
print(a, b); --这里输出局部的变量a=6,b=6
end
---------------跳出局部作用域
print(a, b); --a用的全局变量为5,b虽然最开始为5,但由于被全局修改所以为6
执行输出
5 nil
6 6
5 6