变量
Lua 中的变量有三种,全局变量,局部变量与表字段。
- 所有变量都被视为全局变量,除非明确声明为局部变量;
- 当为变量指定类型为local时,其范围受函数范围限制;
- 这是一种特殊类型的变量,可以保存除 nil 之外的任何内容,包括函数。
赋值
- Lua 变量声明支持
variable_list
与value_list
格式,及从左到右的为其赋值。1
2
3
4
5local d, f = 10, 20
print(d)
-- 10
print(f)
-- 20 - 遇到赋值语句Lua会先计算右边所有的值然后再执行赋值操作,所以我们可以这样进行交换变量的值
1
2a, b = b, a
-- swap 'a' for 'b' - 当变量个数和值的个数不一致时,Lua会一直以变量个数为基础采取以下策略
1
21. 变量个数 > 值个数时,按变量个数补足 nil
2. 变量个数 < 值个数时,多余值会被忽略
索引
对 table 的索引使用方括号[]
。Lua 也提供了.
操作。
1 | site = {} |