【问题标题】:What is the difference between 'and, or' and '&&, ||'? [duplicate]'and, or' 和 '&&, ||' 有什么区别? [复制]
【发布时间】:2011-07-29 02:25:06
【问题描述】:

可能的重复:
PHP - and / or keywords
Ruby: difference between || and 'or'

这有什么区别:

a=20
b=30
if (a > 10 && b > 10)
    puts a
end

还有这个:

if (a > 10 and b > 10)
puts a
end

并解释“||”之间的区别和“或”

【问题讨论】:

  • 你为什么把它标记为 PHP?我删除了 PHP 标记并将 Rails 标记更改为 Ruby,因为代码示例是 Ruby(或无效的 PHP :P)。然而,这里的许多答案都在谈论 PHP。我很抱歉造成混乱。 (不过,两种语言的答案似乎都是一样的。)
  • 由于您标记了 [php] 并且所有当前答案都链接到 PHP 文档,我已将其标记为与 PHP - and / or keywords 完全相同的副本,您将在其中找到完全相同的答案。
  • 我找到了我的问题的答案。我已经在下面发布了答案。请审查。谢谢大家。

标签: ruby


【解决方案1】:

答案与已分配给此问题但后来被删除的PHP标签有关

它们是相同的,只有一点不同。与 &&|| 相比,andor 运算符具有 lower precedence

manual为例:

// The result of the expression (true && false) is assigned to $g
// Acts like: ($g = (true && false))
$g = true && false;

// The constant true is assigned to $h and then false is ignored
// Acts like: (($h = true) and false)
$h = true and false;

【讨论】:

    【解决方案2】:

    您可以在 PHP 的文档中阅读有关 operators 的信息。

    【讨论】:

      【解决方案3】:

      只有precedence的区别

      【讨论】:

      • 我知道 php 中的运算符优先级。这对我来说不是一个合适的答案。
      【解决方案4】:

      Ruby 的优先级表中可以看出,区别也是优先级,就像在 PHP 中一样:andor 的优先级低于 &&||

      但与 PHP 有一点不同:在 Ruby 中,andor 具有相同的优先级。

      【讨论】:

        【解决方案5】:

        我得到了答案。请去阅读。这就是我所期望的。

        http://avdi.org/devblog/2010/08/02/using-and-and-or-in-ruby/

        感谢大家的努力

        【讨论】:

          猜你喜欢
          • 2011-03-10
          • 2021-12-15
          • 2021-08-11
          • 2010-12-03
          • 1970-01-01
          • 1970-01-01
          • 2011-03-15
          • 2012-09-09
          • 2021-11-08
          相关资源
          最近更新 更多