问题标签 [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 投票
1 回答
273 浏览

sql - 带有正则表达式的 SQL 与带有逻辑合并函数的索引

我正在尝试开发一个复杂的文本搜索引擎。我有来自许多书籍的数千页文字。我需要搜索包含指定复杂逻辑标准的页面。这些标准几乎可以包含以下任何组合:

- 答:完整的话。

B:词根(类似于词干;即所有具有某些关键字母的词)。

C:单词模板(在某些语言中,词根填充在某些模板中以形成各种词性,例如形容词,过去/现在动词......)。

D:逻辑连接词:AND/OR/XOR/NOT/IF/IFF 和括号来表示优先级。

现在,将页面的全文保存在数据库中(未编入索引)并使用 SQL 和正则表达式搜索它们会更快吗?

或者构建 word/root/template-page-location 元组的索引会更好吗?因此,我们可以加强对单个单词/词根/模板的搜索。然而,当我们在查询中引入逻辑连接词时,它变得很棘手。我想在这种情况下执行以下步骤:

1:单独搜索指定查询中的每个单词/词根/模板。

2:基于优先级,我们根据逻辑连接词一次合并两个结果列表(来自步骤 1)

例如,如果我们搜索“he AND (is OR was)”:

1:我们将分别搜索“he”、“is”和“was”,得到每个单词的结果列表。

2:使用合并函数OR-MERGE合并“is”和“was”的结果列表。

3:使用合并函数AND-MERGE将来自OR-MERGE函数的合并结果列表与“he”之一合并。

然后将步骤 3 的结果作为指定查询的结果返回。

你怎么看大师?哪个更快?有更好的主意吗?

谢谢大家。

0 投票
4 回答
456 浏览

python - python中return语句中的逻辑运算符评估

这是如何执行的?

x是一个数组,例如:[1, 1, 1, 3]

0 投票
3 回答
1284 浏览

javascript - 何时在 JavaScript 中使用 === 运算符检查?

可能重复:
Javascript === vs ==:我使用哪个“相等”运算符有关系吗?

如标题所述;什么时候应该===在使用 JavaScript 时使用运算符检查,什么时候不应该。

编辑:在这里找到更完整的答案。感谢 Mark Byers 指出。

_L

0 投票
7 回答
3171 浏览

javascript - 在javascript中链接逻辑运算符的简写?

有没有更好的方法在javascript中编写以下条件?

我讨厌将所有这些逻辑 OR 串在一起。我想知道是否有某种速记。

谢谢!

0 投票
3 回答
90313 浏览

c# - C# 中的逻辑和条件 AND、OR 有什么区别?

可能重复:
| 之间有什么区别?和 || 还是运营商?

逻辑 AND 和 OR:

条件 AND 和 OR:

到目前为止,我只知道条件操作数。我知道它的作用以及如何在 if 语句中应用它。但是逻辑操作数的目的是什么?

0 投票
7 回答
22312 浏览

javascript - 赋值中的 Javascript AND 运算符

我知道在 JavaScript 中你可以这样做:

oneOrTheOther如果变量不是 、 或 ,则变量将采用第一个null表达式undefined的值false。在这种情况下,它被分配给第二条语句的值。

但是,oneOrTheOther当我们使用逻辑 AND 运算符时,变量会分配给什么?

someOtherVar非假时会发生什么?假的
时候会发生什么?someOtherVar

刚刚学习 JavaScript,我很好奇与 AND 运算符一起赋值会发生什么。

0 投票
4 回答
1004 浏览

conditional - 我可以简化这个使用逻辑否定运算符的条件语句吗?

抱歉,如果这是“逻辑运算符 101”之类的问题。我一直盯着我的屏幕 15 分钟试图绕着它转头,但我被卡住了。

是否有更简洁/优雅的方式来表达以下内容(这是 JavaScript 语法,但它不是与语言相关的问题):

根据一些实验,这似乎不是逻辑上的等价物:

此外,任何人都可以推荐在线资源以进一步研究此类问题吗?我假设这种类型的东西在计算机科学课程的抽象层面上有所涵盖,这是我真正想填补的编程知识中的一个重要空白。谢谢!

0 投票
1 回答
4604 浏览

ruby - Ruby 逻辑运算符

可能重复:
Ruby 中的“和”、“或”运算符背后有什么智慧吗?

以下成对的逻辑运算符之间有什么区别(如果有的话)?

  1. && 与和
  2. || 与或
0 投票
5 回答
14097 浏览

c - 为什么C没有逻辑赋值运算符?

我需要编写表格的声明

whereexpr应该被评估并且没有设置分配给aiff的结果a。这依赖于逻辑 OR 的短路功能。

当然,写上面的更短的方法是

但是(令我惊讶的是)C 没有逻辑赋值运算符。

所以我的问题是双重的。首先,是否有更短的方法可以用标准 C 编写第一条语句(三元运算符更糟——a = a ? a : expr需要我拼出a三次)。

其次,为什么 C 语言中没有逻辑赋值?我能想到的可能原因是:

  • 它使语法更难解析?
  • 这些情况下处理短路有一些微妙之处吗?
  • 它被认为是多余的(但这不是反对所有运算符分配的论点吗?)

编辑

请解开这个问题,因为:

  • 它所链接的问题(作为所谓的副本)尚未得到答复。该问题的(已接受)答案指出||=不存在,因为重复了|=. 那是错误的答案。|=不会短路。

  • C 和 C++ 不是同一种语言。我想知道为什么 C 没有它。事实上,派生语言如 C++,尤其是 Java(没有像 Edmund 的回答中所建议的那样受到遗留代码问题的困扰)这一事实使这个问题变得更加有趣。

编辑 2

现在看来我的初衷是错误的。在语句中a = a || expr(其中a是整数并expr返回一个整数值,首先两者aexpr都将被隐式转换为“布尔值”,然后“布尔”值将被分配给a。这将是不正确的 - 整数值将丢失。谢谢,延斯和埃德蒙。

因此,对于问题的第一部分,正确的方法,而不是替代方案:),编码我的意图是:

或者

它们应该被优化相同(我认为),但我个人更喜欢第一个(因为它少了一个a要输入的内容)。

但是,问题的第二部分仍然存在。Jens 和 Edmund 关于a ||= expra = a || expr. 分配案例可以简单地视为正常案例:

  • 转换a为布尔值
  • 如果为真,则整个表达式的值变为等于布尔值a
  • 否则评估expr,将结果转换为布尔值,分配给a,并返回它

对于分配和正常情况,上述步骤似乎是相同的。

0 投票
5 回答
1947 浏览

c - 逻辑 NOT (!) 运算符不适用于按位语句

我正在尝试确定是否可以计算两个 32 位整数之和而不会溢出,同时仅使用某些按位运算符和其他运算符。因此,如果整数 x 和 y 可以相加而不会溢出,则以下代码应返回 1,否则返回 0。

但是,它应该为 1 时返回 0,反之亦然。当我使用逻辑 NOT (!) 运算符或使用 0x1 的按位 XOR (^) 时,它不能解决问题。

^ 这些不起作用。

提前致谢。