首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中的&和&,|和||有什么区别?

R中的&和&,|和||有什么区别?
EN

Stack Overflow用户
提问于 2013-04-16 10:34:50
回答 1查看 55.2K关注 0票数 32

为什么有四个逻辑运算符:

代码语言:javascript
复制
&, &&
|, ||

用法有什么不同?

是的,我已经检查过文档了,但我还是有点困惑。文件上写着:

代码语言:javascript
复制
 ‘&’ and ‘&&’ indicate logical AND and ‘|’ and ‘||’ indicate
 logical OR.  The shorter form performs elementwise comparisons in
 much the same way as arithmetic operators.  The longer form
 evaluates left to right examining only the first element of each
 vector.  Evaluation proceeds only until the result is determined.
 The longer form is appropriate for programming control-flow and
 typically preferred in ‘if’ clauses.

我认为一个例子可以清楚地展示它们。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-04-16 10:40:20

主要区别如下:

  1. Long form(&& or ||)短路,这意味着它是否可以通过只验证第一个元素来识别结果。在执行&&时,如果前两个元素的比较结果为false,则比较下一组元素也将导致False。因此,它返回false。在执行||时,如果前几个元素中的比较结果为真,我们可以肯定地说,任何进一步的验证都不会更改结果,因此它将返回True
  2. Short forms继续对整个向量执行操作,并创建一个结果向量并返回它。

希望这能有所帮助。

& and &&表示逻辑AND and | and ||表示逻辑OR。较短的形式执行元素比较的方式与算术运算符非常相似。较长的形式从左到右计算,只检查每个向量的第一个元素。只有在结果确定之前,评估才会进行。较长的形式适用于控制流编程,并且通常在if子句中首选。

来源:http://stat.ethz.ch/R-manual/R-patched/library/base/html/Logic.html

票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16027840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档