Lua 变量
- 变量在使用前,必须在代码中进行声明,即创建该变量
- 编译程序执行代码之前编译器需要知道如何给语句变量开辟存储区,用于存储变量的值
- Lua 变量有三种类型:全局变量 局部变量 表中的域
- Lua 中的变量 全是全区变量, 那怕是语句块或是函数里 除非 用 local 显式声明为局部变量。
- 局部变量的作用域 为声明位置开始到所在语句块结束。
- 变量的默认值 为 nil
测试
a=1
local b=2
function joke()
c=3
local d=4
print(c,d)
end
joke()
print(c,d)
do
local a=10
local b=20
print(a,b)
end
print(a,b)
结果:
3 4
3 nil
10 20
1 2
赋值语句
Lua 可以对多个变量同时赋值,变量列表和值列表的各个元素用逗号 分开,赋值语句的右边会依次赋值给左边的变量
a,b=10,20;
遇到赋值语句 ,lua会先计算右边所有值然后在执行赋值操作,我们可以这样进行交换变量的值
x=10
y=20
x,y=y,x
print(x,y)
结果:20 10
当变量个数he值得个数不一致的时候,Lua会以变量的个数为基础进行取值 不足 赋值nil 多出的值被忽略
索引
对 table 的索引 使用[]
应该尽可能的使用局部变量 有两个好处
- 避免命名冲突
- 访问局部变量的速度比全局变量更快