📅  最后修改于: 2023-12-03 14:40:58.178000             🧑  作者: Mango
Elixir 提供了许多运算符来进行数学运算、判断、逻辑运算等,本文将逐一介绍这些运算符及其使用方法。
Elixir 提供了基本的加、减、乘、除以及余数取模等算术运算符,如下所示:
| 运算符 | 描述 | 例子 | 结果 | |-------|--------------------------------|------------------------------------------|------------------------| | + | 加法 | 2 + 3 | 5 | | - | 减法 | 5 - 2 | 3 | | * | 乘法 | 2 * 3 | 6 | | / | 除法 | 10 / 3 | 3.3333333333333335 | | div | 整除取商 | div(10, 3) | 3 | | rem | 取余数 | rem(10, 3) | 1 |
其中,div
表示整除取商,rem
表示取余数。需要注意的是,这些运算符也支持大整数运算,即超出一定的数值范围也能继续进行运算。
Elixir 提供了比较大小的运算符,如下所示:
| 运算符 | 描述 | 例子 | 结果 | |-------|--------------------------------|------------------------------------------|------------------| | == | 等于 | 1 == 1 | true | | != | 不等于 | 1 != 2 | true | | > | 大于 | 3 > 2 | true | | < | 小于 | 2 < 3 | true | | >= | 大于等于 | 3 >= 3 | true | | <= | 小于等于 | 2 <= 2 | true |
其中,==
和 !=
运算符是针对任意类型进行比较的,而其他比较运算符只支持数字类型进行比较。
Elixir 支持逻辑运算,如下所示:
| 运算符 | 描述 | 例子 | 结果 | |-------|--------------------------------|------------------------------------------|------------------| | not | 非 | not true | false | | and | 与 | true and false | false | | or | 或 | true or false | true |
需要注意的是,逻辑运算符 and
和 or
是短路运算符,即当第一个表达式能够确定整个表达式的结果时,不会继续计算后面的表达式。
Elixir 支持进制转换和位运算,如下所示:
| 运算符 | 描述 | 例子 | 结果 | |-------|--------------------------------|------------------------------------------|------------------| | << | 左移 | 1 << 1 | 2 | | >> | 右移 | 2 >> 1 | 1 | | band | 与 | 2 band 3 | 2 | | bor | 或 | 2 bor 3 | 3 | | bxor | 异或 | 2 bxor 3 | 1 | | bnot | 取反 | bnot(2) | -3 |
需要注意的是,位运算符只能应用于整数类型。
Elixir 中使用 =
进行变量绑定,即将一个值绑定到一个变量上。例如:
x = 1
这个操作会将整数 1
绑定到变量 x
上面。需要注意的是,Elixir 中的变量绑定是不可变的。
Elixir 中的 |>
运算符被称为管道运算符,可以将一个表达式的结果传递给另一个函数进行处理。例如:
1 |> IO.inspect |> IO.puts
这个操作首先将整数 1
传递给 IO.inspect
函数进行输出调试,然后返回结果,再将结果传递给 IO.puts
函数进行输出。
Elixir 中的 ..
运算符可以用来表示一个范围内的值。例如:
1..5
这个操作表示包括 1
和 5
的整数范围。
Elixir 提供了许多基本运算符,可以用来进行数学运算、比较大小、逻辑运算及位运算等,还有一些特殊的运算符如变量绑定运算符、管道运算符和范围运算符等。使用这些运算符可以简化代码并提高效率,非常适合进行函数式编程。