lua 变量
类型
-
全局变量
lua 变量默认均为全局变量
打印一个未定义的变量输出为 nil
示例代码
a = 1 print(a, b)
-
局部变量
lua 变量默认均为全局变量, 除非变量前显式声明了 local 关键词
在局部变量作用域范围之外, 无法获取到变量值
示例代码
a = 1 local b = 2 function test() a = 4 local c = 3 end test() print(a, b, c)
-
表中的域
对 table 的索引使用 "[]"
若索引为字符串时, 也可以使用 "."
赋值
-
简单赋值
和其他语言一样, 直接使用 "=" 进行赋值
示例程序
a = 1
-
多变量同时赋值
类似于 go 语言, lua 语言也可以使用多变量同时赋值的语法
当变量数量大于值数量, 多余的变量会被赋值为 nil
当变量数量小于值数量, 多余的值会被忽略
示例程序
a, b = 1, 2 print(a, b) a, b, c = 3, 4 print(a, b, c) a, b = 5, 6, 7 print(a, b)
总结
变量有三种类型
- 全局变量
- 局部变量
- 表中的域
尽可能使用局部变量
- 避免命名冲突
- 访问局部变量的速度比全局变量快
- 防止变量污染
lua 支持多变量同时赋值