Lua 变量有三种类型:全局变量、局部变量、表中的域。
- 在lua中,除非用 local 显示声明变量为局部变量,否则无论在哪儿声明都是全局变量
do
local num1 = 5
num2 = 10
print(num1,num2)
end
print(num1, num2)
> 5 10
> nil 10
-
赋值
1、在lua中可同时对多个变量赋值,变量列表和值列表的各个元素用逗号分开,赋值语句右边的值会依次赋给左边的变量。
2、遇到赋值语句,Lua会先计算右边所有的值然后再执行赋值操作,所以我们可以这样进行交换变量的值。
a, b = 10, "apple"
print(a, b)
a, b = b, a
print(a, b)
>>10, apple
>>apple, 10
3、当变量个数和值的个数不一致时,变量多于值则补nil,变量少于值则去掉后面的值
4、多值赋值经常用来交换变量,或将函数调用返回给变量,如 a, b = func()
注:应该尽可能的使用局部变量。
好处:1、 避免命名冲突 ; 2、访问局部变量的速度比全局变量更快。