注释
单行注释
—xxxx
多行注释
—[[
xxx
xxx
—]]
取消多行注释
—-[[ 多行注释写三个 -
xxx
xxx
—]]
标识符
字母(a-z A-Z) 或 底划线( _) 开头 ,后面加字母、底划线、数字
底划线+大写字母 为 保留字
运算符
算数运算符
- 加法
- 减法
* 乘法
/ 除法
% 取余
^ 乘幂
- 负号关系运算符
== 等于
~= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于逻辑运算符
and 逻辑与
前表达式为 true , 后表达式结果是一个非 bool 值,输出这个值
x=”hello”
print(3>2 and x)
or 逻辑或
前表达式为 false , 后表达式结果是一个非 bool 值,输出这个值
x=”hello”
print(1>2 or x)
not 逻辑非
not false 和 not nil 为 true
其他 not xxx 都为 false
其它运算符
.. 字符串拼接 ‘aa’..’bb’ —> aabb
# 字符串字节长度 ‘aa啊’ —> 5
变量
全局变量
默认值为 nil
局部变量
local a = 1
多个变量同时赋值
变量列表和值列表的各个元素用逗号分开,赋值语句右边的值会依次赋给左边的变量
变量个数和值的个数不一致:
变量个数 > 值的个数 按变量个数补足nil
变量个数 < 值的个数 多余的值会被忽略
a, b, c = 0 —> 0 nil nil
a, b, c = 0,1,2,3,4 —> 0 1 2
数据类型
nil
boolean
false 和 nil 看作是 false,其他的都为 true,数字 0 也是 true
number
integer 整型
float 双精度浮点型
不管整型还是双精度浮点型,type() 返回都是 number
string
字符串由一对双引号或单引号来表示
2 个方括号 “[[ ]]” 包含多行字符串
纯数字字符串上进行算术操作时,会转成数字
function
table
本质是一种 辅助数组
可以数值做索引,也可除nil外的其它类型做索引