运算符是告诉解释器执行特定数学或逻辑操做的符号。 Lua语言内置运算符丰富,并提供如下类型的运算符 -spa
本教程将逐一解释算术,关系,逻辑和其余杂项运算符。code
下表显示了Lua语言支持的全部算术运算符。 假设变量A=10
,变量B=20
,而后 -教程
运算符字符串 |
描述数学 |
示例table |
|
相加两个操做数tab |
|
|
从第一个减去第二个操做数 |
|
|
将两个操做数相乘 |
|
|
用除分子除以分子 |
|
|
模数运算符,整数除法后的余数 |
|
|
指数运算符取指数幂值 |
|
|
一元,充当否认 |
|
下表显示了Lua语言支持的全部关系运算符。 假设变量A=10
,变量B=20
,而后 -
运算符 |
描述 |
示例 |
|
检查两个操做数的值是否相等,若是相等,则条件变为真。 |
|
|
检查两个操做数的值是否相等,若是值不相等则条件变为 |
|
|
检查左操做数的值是否大于右操做数的值,若是是,则条件变为 |
|
|
检查左操做数的值是否小于右操做数的值,若是是,则条件变为 |
|
|
检查左操做数的值是否大于或等于右操做数的值,若是是,则条件变为 |
|
|
检查左操做数的值是否小于或等于右操做数的值,若是是,则条件变为 |
|
下表显示了Lua语言支持的全部逻辑运算符。 假设变量A=true
,变量B=false
,则 -
运算符 |
描述 |
示例 |
|
逻辑与运算符。若是两个操做数都不为零,则条件成立。 |
|
|
逻辑或运算符。 若是两个操做数中的任何一个不为零,则条件变为真。 |
|
|
逻辑非运算符。用于反转其操做数的逻辑状态。 若是条件为真,则逻辑非运算符将为 |
|
Lua语言支持的其余运算符包括链接和长度。
编号 |
描述 |
示例 |
|
链接两个字符串 |
若是 |
|
返回字符串或表长度的一元运算符。 |
|
运算符优先级肯定表达式中的术语分组。 这会影响表达式的计算方式。 某些运算符的优先级高于其余运算符; 例如,乘法运算符的优先级高于加法运算符 -
例如,x = 7 + 3 * 2
; 这里x
赋值为13
,而不是20
,由于运算符 *
的优先级高于+
,因此它首先乘以3 * 2
而后再加上7
。
此处,具备最高优先级的运算符显示在表的顶部,具备最低优先级的运算符显示在底部。 在表达式中,将首先评估更高优先级的运算符。
类别 |
操做符 |
关联性 |
一元 |
|
右到左 |
链接 |
|
右到左 |
乘法 |
|
左到右 |
加法 |
|
左到右 |
关系 |
|
左到右 |
相等 |
|
左到右 |
逻辑与 |
|
左到右 |
逻辑或 |
|
左到右 |