Lua运算符

运算符是告诉解释器执行特定数学或逻辑操做的符号。 Lua语言内置运算符丰富,并提供如下类型的运算符 -spa

  • 算术运算符
  • 关系运算符
  • 逻辑运算符
  • 其它运算符

本教程将逐一解释算术,关系,逻辑和其余杂项运算符。code

1. 算术运算符

下表显示了Lua语言支持的全部算术运算符。 假设变量A=10,变量B=20,而后 -教程

运算符字符串

描述数学

示例table

+变量

相加两个操做数tab

A + B = 30语言

-di

从第一个减去第二个操做数

A - B = -10

*

将两个操做数相乘

A * B = 200

/

用除分子除以分子

B / A = 2

%

模数运算符,整数除法后的余数

B % A = 0

^

指数运算符取指数幂值

A^2 = 100

-

一元,充当否认

-A = -10

 

2. 关系运算符

下表显示了Lua语言支持的全部关系运算符。 假设变量A=10,变量B=20,而后 -

运算符

描述

示例

==

检查两个操做数的值是否相等,若是相等,则条件变为真。

(A == B)结果为false

~=

检查两个操做数的值是否相等,若是值不相等则条件变为true

(A ~= B)结果为true

> 

检查左操做数的值是否大于右操做数的值,若是是,则条件变为true

(A > B)结果为false

< 

检查左操做数的值是否小于右操做数的值,若是是,则条件变为true

(A < B)结果为true

>=

检查左操做数的值是否大于或等于右操做数的值,若是是,则条件变为true

(A >= B)结果为false

<=

检查左操做数的值是否小于或等于右操做数的值,若是是,则条件变为true

(A <= B)结果为true

 

3. 逻辑运算符

下表显示了Lua语言支持的全部逻辑运算符。 假设变量A=true,变量B=false,则 -

运算符

描述

示例

and

逻辑与运算符。若是两个操做数都不为零,则条件成立。

(A and B) 结果为false

or

逻辑或运算符。 若是两个操做数中的任何一个不为零,则条件变为真。

(A or B) 结果为true

not

逻辑非运算符。用于反转其操做数的逻辑状态。 若是条件为真,则逻辑非运算符将为false

!(A and B)结果为true

 

4. 杂项运算符

Lua语言支持的其余运算符包括链接和长度。

编号

描述

示例

...

链接两个字符串

若是aHellobWorlda..b将返回Hello World

#

返回字符串或表长度的一元运算符。

#"Hello" 将返回 5

 

5. Lua运算符优先级

运算符优先级肯定表达式中的术语分组。 这会影响表达式的计算方式。 某些运算符的优先级高于其余运算符; 例如,乘法运算符的优先级高于加法运算符 -

例如,x = 7 + 3 * 2; 这里x赋值为13,而不是20,由于运算符 * 的优先级高于+,因此它首先乘以3 * 2而后再加上7

此处,具备最高优先级的运算符显示在表的顶部,具备最低优先级的运算符显示在底部。 在表达式中,将首先评估更高优先级的运算符。

类别

操做符

关联性

一元

not # -

右到左

链接

..

右到左

乘法

* / %

左到右

加法

+ -

左到右

关系

< > <= >= == ~=

左到右

相等

== ~=

左到右

逻辑与

and

左到右

逻辑或

or

左到右

相关文章
相关标签/搜索