作者:xiubao | 来源:互联网 | 2024-11-16 17:34
算术表达式
在 Erlang 中,算术表达式的执行顺序遵循一定的优先级。优先级高的运算符会先被执行,然后依次进行。
操作符 |
描述 |
例子 |
优先级 |
+X | 正号 | X = -1, +X = -1 | 1 |
-X | 负号 | X = -1, -X = 1 | 1 |
X * Y | 乘法 | 2 * 3 = 6 | 2 |
X / Y | 除法 | 2 / 3 = 0.6666666666666666 | 2 |
X div Y | 整除的商 | 10 div 3 = 3 | 2 |
X rem Y | 整除的余数 | 10 rem 3 = 1 | 2 |
X band Y | 按位与 | 0 band 3 = 0 | 2 |
bnot X | 按位取反 | bnot 3 = -4 | 2 |
X + Y | 加法 | 1 + 2 = 3 | 3 |
X - Y | 减法 | 4 - 2 = 2 | 3 |
X bor Y | 按位或 | 0 bor 3 = 3 | 3 |
X bxor Y | 按位异或 | 1 bxor 3 = 2 | 3 |
X bsl N | 左移N位 | 3 bsl 1 = 6 | 6 |
X bsr N | 右移N位 | 3 bsr 1 = 1 | 3 |
逻辑运算符
Erlang 中的逻辑运算符包括逻辑非(not)、逻辑与(and)、逻辑或(or)、短路布尔表达式(orelse 和 andalso)。
1> not true. %% 逻辑非
false
2> true and false. %% 逻辑与
false
3> true or false. %% 逻辑或
true
4> 1 > 2 orelse 2 <3. %% 短路布尔表达式,若 orelse 前的表达式结果为 true,则不执行 orelse 后的内容
true
5> 1 > 2 andalso 2 <3. %% 短路布尔表达式,若 andalso 前的结果为 false,则不执行 andalso 后的内容
false
比较运算符
Erlang 中的比较运算符用于比较两个值之间的关系。以下是常用的比较运算符及其描述:
操作符 |
描述 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
=:= | 完全相等,比较值和类型 |
=/= | 完全不相等,比较值和类型 |
== | 等于,仅比较值 |
/= | 不等于,仅比较值 |