【转载请注明出处】:https://blog.csdn.net/huahao1989/article/details/105900165
基本语法
注释
- 两个减号是单行注释:
--注释
- 多行注释
--[[ 注释 --]]
标示符
标示符以字母或下划线 _ 开头,加上字母、下划线或数字组成。
最好不要使用下划线加大写字母的标示符,因为Lua的保留字也是这样的。
关键词
以下列出了 Lua 的保留关键字。保留关键字不能作为常量或变量或其他用户自定义标示符:
and 、break 、 do 、 else 、 elseif 、end、false 、for 、 function 、if 、in 、 local 、nil 、 not 、 or 、 repeat 、return 、 then 、true 、until 、while
一般约定,以下划线开头连接一串大写字母的名字(比如 _VERSION)被保留用于 Lua 内部全局变量。
全局变量
在默认情况下,变量总是认为是全局的。
Lua 数据类型
Lua中有8个基本类型分别为:nil、boolean、number、string、userdata、function、thread和table。
数据类型 | 描述 | 说明 |
---|---|---|
nil | 这个最简单,只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)。 | nil 作比较时应该加上双引号 |
boolean | 包含两个值:false和true。 | Lua 把 false 和 nil 看作是"假",其他的都为"真" |
number | 表示双精度类型的实浮点数 | |
string | 字符串由一对双引号或单引号来表示 | 也可以用 2 个方括号 “[[]]” 来表示"一块"字符串。 使用 # 来计算字符串的长度 在对一个数字字符串上进行算术操作时,Lua 会尝试将这个数字字符串转成一个数字 |
function | 由 C 或 Lua 编写的函数 | |
userdata | 表示任意存储在变量中的C数据结构 | |
thread | 表示执行的独立线路,用于执行协同程序 | |
table | Lua 中的表(table)其实是一个"关联数组"(associative arrays),数组的索引可以是数字或者是字符串。在 Lua 里,table 的创建是通过"构造表达式"来完成,最简单构造表达式是{},用来创建一个空表。 |
可以使用type函数测试给定变量或者值的类型。
Lua 变量
Lua 变量有三种类型:全局变量、局部变量、表中的域。
Lua 中的变量全是全局变量,那怕是语句块或是函数里,除非用 local 显式声明为局部变量。
局部变量的作用域为从声明位置开始到所在语句块结束。
赋值语句
--赋值是改变一个变量的值和改变表域的最基本的方法。
a = "hello" .. "world"
t.n = t.n + 1
--Lua可以对多个变量同时赋值,变量列表和值列表的各个元素用逗号分开,赋值语句右边的值会依次赋给左边的变量。
a, b = 10, 2*x -- 等价于 a=10; b=2*x
当变量个数和值的个数不一致时,Lua会一直以变量个数为基础采取以下策略&