运算符是一个特殊的符号,用于告诉解释器执行特定的数学或逻辑运算。Lua提供了以下几种运算符类型:
算术运算符
关系运算符
逻辑运算符
其他运算符
算术运算符
下表列出了 Lua 语言中的常用算术运算符,设定 A 的值为10,B 的值为 20:<br />![](https://cdn.nlark.com/yuque/0/2018/png/200878/1545796915099-182b544e-343b-4338-827b-16d5ce9807ff.png#width=827)
关系运算符
下表列出了 Lua 语言中的常用关系运算符,设定 A 的值为10,B 的值为 20:<br />![](https://cdn.nlark.com/yuque/0/2018/png/200878/1545796934445-08762e3c-8245-4964-ba85-d2469ae31630.png#width=827)
逻辑运算符
下表列出了 Lua 语言中的常用逻辑运算符,设定 A 的值为 true,B 的值为 false:<br />![](https://cdn.nlark.com/yuque/0/2018/png/200878/1545796955997-b3a7dee8-81f8-42ce-9631-1f0e30b15143.png#width=827)
其他运算符
下表列出了 Lua 语言中的连接运算符与计算表或字符串长度的运算符:<br />![](https://cdn.nlark.com/yuque/0/2018/png/200878/1545796993558-cd2c7425-bff9-46c2-96f7-40ab6574733b.png#width=827)
运算符优先级
从高到低的顺序:
^
not - (unary)
* /
+ -
..
< > <= >= ~= ==
and
or
除了^和..外所有的二元运算符都是左连接的
a+i < b/2+1 <--> (a+i) < ((b/2)+1)
5+x^2*8 <--> 5+((x^2)*8)
a < y and y <= z <--> (a < y) and (y <= z)
-x^2 <--> -(x^2)
x^y^z <--> x^(y^z)