运算符是一个特殊的符号,用于告诉解释器执行特定的数学或逻辑运算。Lua提供了以下几种运算符类型:

  • 算术运算符

  • 关系运算符

  • 逻辑运算符

  • 其他运算符

算术运算符

  1. 下表列出了 Lua 语言中的常用算术运算符,设定 A 的值为10B 的值为 20:<br />![](https://cdn.nlark.com/yuque/0/2018/png/200878/1545796915099-182b544e-343b-4338-827b-16d5ce9807ff.png#width=827)

关系运算符

  1. 下表列出了 Lua 语言中的常用关系运算符,设定 A 的值为10B 的值为 20:<br />![](https://cdn.nlark.com/yuque/0/2018/png/200878/1545796934445-08762e3c-8245-4964-ba85-d2469ae31630.png#width=827)

逻辑运算符

  1. 下表列出了 Lua 语言中的常用逻辑运算符,设定 A 的值为 trueB 的值为 false:<br />![](https://cdn.nlark.com/yuque/0/2018/png/200878/1545796955997-b3a7dee8-81f8-42ce-9631-1f0e30b15143.png#width=827)

其他运算符

  1. 下表列出了 Lua 语言中的连接运算符与计算表或字符串长度的运算符:<br />![](https://cdn.nlark.com/yuque/0/2018/png/200878/1545796993558-cd2c7425-bff9-46c2-96f7-40ab6574733b.png#width=827)

运算符优先级

从高到低的顺序:

  1. ^
  2. not - (unary)
  3. * /
  4. + -
  5. ..
  6. < > <= >= ~= ==
  7. and
  8. or

除了^和..外所有的二元运算符都是左连接的

  1. a+i < b/2+1 <--> (a+i) < ((b/2)+1)
  2. 5+x^2*8 <--> 5+((x^2)*8)
  3. a < y and y <= z <--> (a < y) and (y <= z)
  4. -x^2 <--> -(x^2)
  5. x^y^z <--> x^(y^z)

Lua 运算符 - 图1