gpt4 book ai didi

Elixir :为什么同一操作有两个 bool 运算符

转载 作者:行者123 更新时间:2023-12-04 16:27:08 25 4
gpt4 key购买 nike

Elixir 似乎每个操作都有 2 个 bool 运算符:

|| , or
&& , and

等等。唯一的区别是对于 or, and等等,第一个参数本身必须是一个 bool 值。当 || , && 时,这些第二组运算符有什么意义?等似乎能够处理一切?

最佳答案

根据 Basic Operators 上的 Elixir 教程:

or and and are short-circuit operators. They only execute the right side if the left side is not enough to determine the result



回答你的问题,第二组运算符有什么意义?我认为教程说得很好。

As a rule of thumb, use and, or and not when you are expecting booleans. If any of the arguments are non-boolean, use &&, || and !.



我的看法
  • 对我来说,这似乎是语言本身的最佳实践。
  • 符合让它失败的哲学,在比较情况下对类型更严格可能是一个好主意。在 iex(5) 结果抛出一个 ArgumentError。抛出这样的错误可能比错误地评估某事更好。

  • &&and示例
    iex(1)> nil && 13
    nil

    iex(2)> true && 17
    17

    iex(3)> true and true
    true

    iex(4)> false and true
    false

    iex(5)> 73 and false
    ** (ArgumentError) argument error: 73

    关于 Elixir :为什么同一操作有两个 bool 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34605325/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com