- Elixir 教程
- Elixir - 主页
- Elixir - 概述
- Elixir - 环境
- Elixir - 基本语法
- Elixir - 数据类型
- Elixir - 变量
- Elixir - 操作员
- Elixir - 模式匹配
- Elixir - 决策
- Elixir - 弦乐
- Elixir - 角色列表
- Elixir - 列表和元组
- Elixir - 关键字列表
- Elixir - 地图
- Elixir - 模块
- Elixir - 别名
- Elixir - 功能
- Elixir - 递归
- Elixir - 循环
- Elixir - 可枚举
- Elixir - 流
- Elixir - 结构
- Elixir - 协议
- Elixir - 文件 I/O
- Elixir - 流程
- 长生不老药 - 印记
- Elixir - 领悟
- Elixir - 类型规格
- Elixir - Behave
- Elixir - 错误处理
- Elixir - 宏
- Elixir - 图书馆
- Elixir 有用资源
- Elixir - 快速指南
- Elixir - 有用的资源
- Elixir - 讨论
Elixir - 逻辑运算符
Elixir 提供 6 个逻辑运算符:and、or、not、&&、|| 和 !。前三个and or not是严格的布尔运算符,这意味着它们希望第一个参数是布尔值。非布尔参数将引发错误。接下来的三个,&&,|| 和 !不严格,不要求我们将第一个值严格作为布尔值。他们的工作方式与严格的同行相同。假设变量A为真且变量B为 20,则 -
操作员 | 描述 | 例子 |
---|---|---|
和 | 检查提供的两个值是否为真,如果是,则返回第二个变量的值。(逻辑与)。 | A和B各给20 |
或者 | 检查提供的任一值是否为真。返回真实值。否则返回 false。(逻辑或)。 | A 或 B 将给出 true |
不是 | 一元运算符反转给定输入的值。 | 不 A 会给出 false |
&& | 非严格的和. 与and工作相同,但不期望第一个参数是布尔值。 | B&&A 会给 20 |
|| | 非严格或. 与or作用相同,但不期望第一个参数是布尔值。 | 乙|| A将给出真实的 |
! | 非严格不。工作方式与not相同,但不期望参数是布尔值。 | !A 会给出 false |
注意 -和、或、&&和|| 是短路操作员。这意味着如果and的第一个参数为 false,则它将不会进一步检查第二个参数。如果or的第一个参数为 true,则它不会检查第二个参数。例如,
false and raise("An error") #This won't raise an error as raise function wont get executed because of short #circuiting nature of and operator.
例子
尝试以下代码来了解 Elixir 中的所有算术运算符。
a = true b = 20 IO.puts("a and b " <> to_string(a and b)) IO.puts("a or b " <> to_string(a or b)) IO.puts("not a " <> to_string(not a)) IO.puts("b && a" <> to_string(b && a)) IO.puts("b || a " <> to_string(b || a)) IO.puts("!a " <> to_string(!a))
上述程序生成以下结果 -
a and b 20 a or b true not a false b && a true b || a 20 !a false
elixir_operators.htm