问题标签 [boolean-expression]
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.
c++ - 布尔表达式的等价性
我有一个问题在于比较布尔表达式( OR 是 +,AND 是 * )。更准确地说,这里是一个例子:
我有以下表达式:“A+B+C”,我想将它与“B+A+C”进行比较。像字符串一样比较它不是解决方案 - 它会告诉我表达式不匹配,这当然是错误的。关于如何比较这些表达式的任何想法?
关于如何解决这个问题的任何想法?我接受任何类型的建议,但(作为注释)我的应用程序中的最终代码将用 C++ 编写(当然接受 C)。
一个正常的表达式也可以包含括号:
(A * B * C) + D或A+B*(C+D)+X*Y
提前致谢,
尤利安
c# - 布尔表达式,为什么只有两个术语?
鉴于它是有效的写
这也很好,而不是
改为写
但我不能,因为 a == b 评估为一个布尔值,然后不能与整数进行比较。
以这种方式实现是否有语言设计的原因?
c# - 为什么我必须在三元表达式中对 int 进行类型转换?
可能重复:
条件运算符不能隐式转换?
我遇到了一个特殊的情况,想知道为什么我必须这样做。我正在使用.NET 3.5。
这有效:
这不起作用:
我必须对 -1 进行类型转换:
三元表达式有什么不同?它认为 -1 是一个需要转换为 short 的 int。但为什么?
python - Python 布尔表达式和或
在 python 中,如果你写类似的东西
如果布尔语句为真,python 似乎返回垃圾邮件,否则返回鸡蛋。有人可以解释这种行为吗?为什么表达式不像一个长布尔值那样被评估?
编辑:具体来说,我试图弄清楚为什么“垃圾邮件”或“鸡蛋”作为表达式的结果被返回的机制。
sql - 如何将简单的布尔语句转换为 SQL?
我有以下数据库表,其中包含有关人员、疾病和药物的信息:
从这些表格中,我运行了一些关于哪些人服用了哪些药物并患有哪些疾病的统计数据。从中我可以找出哪些模式对我来说很有趣,可以进一步深入研究。例如,下面是我可能为疾病 52 找到的布尔模式的简化示例:
编辑: 这是另一个例子:
现在我想把这个模式转换成一个 sql 查询,找到所有匹配这个模式的人。
例如,我想查找 PERSON_T 中所有患有这种疾病的人以及((在出现症状之前未服用药物 234 和 26,但在出现症状之前服用药物 474)或(在出现症状之前服用药物 371) ,但在出现症状之前不是药物 791 和 395))
我将如何将此模式翻译回原始查询?
这是我的第一次尝试,但我被困在第一个学期:
我需要这个在 PostgreSql 中工作,但我假设任何给定的答案都可以从给定的数据库转换为 PostgreSql。
对评论的回应
- 我修复了数据库表的格式。谢谢你。
- 我需要能够采用任意布尔语句并将其转换为 SQL。我们实际创建的布尔语句比我给出的示例要长得多。我创建的任何新表都将位于新数据库中,并且需要与原始表具有相同的架构。这样对最终用户来说,他们可以在新表上运行相同的代码,并且它的工作方式与在原始表上运行一样。这是客户的要求。我希望我可以创建一个视图,它只是对原始表的查询。如果我们不能让它工作,我可以创建表的副本并在将数据复制到新表时过滤数据。我们没有使用神经网络进行分析。我们正在使用我们自己的自定义算法,其扩展性比神经网络好得多。
- Disease_Start_Date 是人得病的日期,很可能是症状开始出现的时候。疾病结束日期是患者康复的时间,很可能是症状消失的时间。
- Drug_start_date 是该人开始服药的时间。Drug_end_date 是该人停止服药的时间。
编辑 我添加了自己的答案。谁能想出一个更简单的答案?
c++ - c++搜索文本n布尔模式
基本上有两个问题。
1. 是否有一个 c++ 库可以像在 mysql 中一样进行全文布尔搜索。例如,
假设我有:
2. 是否可以在文本中搜索短语。例如,
p>
language-agnostic - 三个值的异或
做三路异或的最简单方法是什么?
换句话说,我有三个值,并且我想要一个评估为真 IFF 的语句,只有三个值中的一个为真。
到目前为止,这就是我想出的:
((a ^ b) && (a ^ c) && !(b && c)) || ((b ^ a) && (b ^ c) && !(a && c)) || ((c ^ a) && (c ^ b) && !(a && b))
有没有更简单的方法来做同样的事情?
这是上述完成任务的证明:
java - Java 会按照我想要的方式解释这个布尔表达式吗?
这就是我想要!A || (A && B && C)
的:这和原来的一样吗?!A || A && B && C
为什么或者为什么不?
perl - 我的 Perl 脚本中的 if-elsif-else 块有什么问题?
我正在尝试为嵌套的 if 语句编写条件,但没有找到在 if 语句中使用 or 的好例子。以下elsif
条件失败并允许嵌套在它下面的代码在以下情况下触发$status == 6
:
我想避免为每个条件使用另一个 elsif,因为实际驻留在此处的代码有几行长。