问题标签 [logical-operators]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
596 浏览

c# - 关系运算符表达式顺序

这可能是一个愚蠢的问题,但好奇心使我变得更好。我最近看到的代码似乎“颠倒”了关系运算符的表达式顺序,例如:

与我通常看到/写的相反:

对我来说,第二种方法似乎更具可读性和直观性,所以我想知道我看到第一种方法是否有某些原因?从逻辑上讲,这两个语句的计算结果相同,那么它们的编写方式只是个人喜好问题吗?

0 投票
12 回答
140987 浏览

java - 使用 xor 运算符进行布尔检查是一种好习惯吗?

我个人喜欢排他性 or , ^, 运算符,因为它的简洁性在布尔检查的上下文中是有意义的。我更喜欢写作

但我经常从其他有经验的 Java 开发人员(不仅仅是新手)那里得到困惑,有时会评论它应该如何只用于按位运算。

我很好奇关于^操作员使用的最佳实践。

0 投票
5 回答
19898 浏览

php - 设置默认值(条件赋值)

在 Ruby 中,您可以轻松地为变量设置默认值

如果 x 为 nil 或 false,上述语句将 x 的值设置为“default”

PHP中是否有类似的快捷方式或者我必须使用更长的形式:

有没有更简单的方法可以在 PHP 中处理这个问题?

0 投票
6 回答
8618 浏览

random - 如何在 Smalltalk 中生成一个范围内的随机整数?

我目前正在上的一门课要求我们在 smalltalk 中完成所有编码(这是一门设计课)。在我们的一个项目中,我想做一些事情,但很难找到如何去做。似乎大多数人所做的只是修改他们自己的 smalltalk 版本来做他们需要它做的事情。我不能这样做,因为当我的教授没有与我相同的内置方法时,这会导致我的教授的计算机出现错误。

这是我想要做的:

随机数。我需要创建一个介于 1 到 1000 之间的随机数。现在我正在通过这样做来伪造它

这给了我一个 0 到 1000 之间的数字。有没有办法在一个命令中做到这一点?如同

和/或语句。这让我大吃一惊。我尝试了几种不同的配置

所以我用嵌套的 ifTrue 语句来伪造它:

在smalltalk中做和/或随机的正确方法是什么?

0 投票
28 回答
1013799 浏览

python - 如何在 Python 中获得两个变量的逻辑异或?

如何在 Python 中获得两个变量的逻辑异或?

例如,我有两个变量,我希望它们是字符串。我想测试其中只有一个包含 True 值(不是 None 或空字符串):

^运算符似乎是按位的,并没有在所有对象上定义:

0 投票
6 回答
8109 浏览

ruby-on-rails - 如何避免短路评估

我正在使用 Ruby on Rails 并想验证两种不同的模型:

但是,“&&”运算符使用短路评估(即,仅当“model1.valid?”为真时才评估“model2.valid?”),这会阻止在model1 无效时执行model2.valids。

是否存在不使用短路评估的“&&”等价物?我需要评估这两个表达式。

0 投票
4 回答
473 浏览

mysql - 如何在mysql中进行此查询?

从项目中选择item_nameWHERE item_id= $var;

我试过:

$var = 001 || 002 || 003 || 004;

$var = 001 或 002 或 003 或 004;

$var = 001 或 002 或 003 或 004;

但都不起作用。

谢谢,我试试看,但输出只有 1 个结果 => 1。

我想要的是输出全部,即 1、2、3 和 4 .. 意思是,我想从 1 列中选择多个记录(行)

怎么做?

0 投票
7 回答
36550 浏览

c++ - 是否强制使用短路逻辑运算符?和评价顺序?

ANSI 标准是否要求在 C 或 C++ 中将逻辑运算符短路?

我很困惑,因为我记得 K&R 书中说你的代码不应该依赖于这些被短路的操作,因为它们可能不会。有人可以指出标准中说逻辑操作总是短路的地方吗?我对 C++ 最感兴趣,C 的答案也很好。

我还记得读过(不记得在哪里)没有严格定义评估顺序,因此您的代码不应依赖或假设表达式中的函数将按特定顺序执行:在语句结束时所有引用的函数将被调用,但编译器可以自由选择最有效的顺序。

标准是否指明了这个表达式的评估顺序?

0 投票
11 回答
8668 浏览

c# - 一个清晰的,外行的解释之间的区别| 和 || 在 C# 中?

好的,所以我已经读过很多次了,但我还没有听到一种清晰、易于理解(且令人难忘)的方式来了解以下之间的区别:

..在 C# 的上下文中。任何人都可以帮助我了解这个基本事实,以及 C# 具体如何以不同的方式对待它们(因为它们似乎做同样的事情)。如果给定的一段代码之间的差异无关紧要,我应该默认将哪个作为最佳实践?

0 投票
7 回答
19796 浏览

c# - C# 中的 OR 运算符

我能达到

代替

?