- 教程
- 概述
- 环境
- Basic 语法
- 数据类型
- 变量
- 运算符
- 模式匹配( Pattern Matching)
- 决策( Decision Making)
- Strings( Strings)
- Char Lists( Char Lists)
- 列表和元组( Lists and Tuples)
- 关键字列表( Keyword Lists)
- Maps
- 模块( Modules)
- 别名( Aliases)
- 功能( Functions)
- 递归
- 循环
- Enumerables( Enumerables)
- Streams( Streams)
- Structs( Structs)
- 协议 Protocols
- File I/O
- 进程( Processes)
- Sigils( Sigils)
- 理解( Comprehensions)
- Typespecs( Typespecs)
- 行为( Behaviours)
- 错误处理( Errors Handling)
- Macros( Macros)
- (库)Libraries
- 有用的资源
- 讨论
- Show 例子
- Show 例子
- Show 例子
- Show 例子
- Show 例子
- if statement
- if..else statement
- unless statement
- unless..else statement
- cond
- case
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
Show 例子
Elixir提供了6个逻辑运算符:和,或者,不是,&&,|| 和! 前三个, and or not严格的布尔运算符,这意味着它们期望它们的第一个参数是布尔值。 非布尔参数将引发错误。 而接下来的三个, &&, || and ! &&, || and ! 是非严格的,不要求我们将第一个值严格地作为布尔值。 它们的工作方式与严格的同行相同。 假设变量A成立,变量B成立20,则 -
操作者 | 描述 | 例 |
---|---|---|
and | 检查提供的两个值是否真实,如果是,则返回第二个变量的值。 (逻辑和)。 | A和B将给20 |
or | 检查提供的值是否真实。 返回真正的值。 否则返回false。 (逻辑或)。 | A或B将给出真实 |
not | 一元运算符,它反转给定输入的值。 | 不是A会给出错误 |
&& | 非严格and 。 与第一个参数相同但不期望它是布尔值。 | B && A将给20 |
|| | 非严格or 。 与第一个参数相同or不期望第一个参数是布尔值。 | B || A会给出真实的 |
! | 非严格not 。 同样的工作原理,但不要指望参数是布尔值。 | !A will give false |
NOTE − and , or , &&和|| 是短路运算符。 这意味着如果和的第一个参数为false,那么它将不会进一步检查第二个参数。 如果第一个参数or为真,那么它将不会检查第二个参数。 例如,
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.
例子 (Example)
请尝试以下代码来了解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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
![扫码二维码加入Web技术交流群](/public/img/jiaqun_03.jpg)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论