1.优先级
首先先了解运算符优先级,下图所示:
顺序从高到低
2.运算符详解
2.1、算术运算符
二元运算符:^+ - * / (幂加减乘除)
一元运算符:-(负值)
这些运算符的操作数都是实数。
2.2、关系运算符
< > <= >= == ~=
操作符返回结果为 false 或者 true
Lua 比较数字按传统的数字大小进行,比较字符串按字母的顺序进行,字母顺
序依赖于本地环境。
项目中若混合比较字符串和数字则会报错。同时也要注意判空,避免造成较大影响.
tonumber () --转number tostring() --转string
2.3、逻辑运算符
and or not
在lua中认为 false 和 nil 是假(false),其他为真,0 也是 true.
and 和 or 运算结果则和它们的操作数相关
例:
local a = false
local b = true
a and b --> a
a or b --> b
local a = true
local b = false
a and b --> b
a or b --> a
由此得出:
如果 前一位 为 false,则返回 前一位,否则返回 后一位
如果 前一位 为 true,则返回 前一位,否则返回 后一位
同时lua也有自己的三元表达式
(a and b) or c
not 的结果一直返回 false 或者 true
2.4、连接运算符
.. -->两个点
字符串连接,如果操作数为数字,Lua 将数字转成字符串。
例:print(“你好”..“51CTO”) --> "你好51CTO"
print(a..b) --> ab
print(88..99) --> 8899
部分细节借鉴与网络
lua不追求高大上的写法,简单方便即为真理