Tag: 逻辑

Python简单如果或逻辑语句

你将如何写在python中: if key < 1 or key > 34: 我尽我所能想到的方式,发现它非常令人沮丧。

用于简化SQL语句的一般规则

我正在寻找一些“推理规则”(类似于设置操作规则或逻辑规则),我可以用它来减less复杂性或大小的SQL查询。 有没有这样的东西? 任何文件,任何工具? 您自己find的任何等价物? 它在某种程度上类似于查询优化,但不是在性能方面。 说明它的不同:使用JOINs,SUBSELECTs,UNIONs进行(复杂)查询有可能(或不是)通过使用一些转换规则将其简化为更简单的等效SQL语句,该语句产生相同的结果? 所以,我正在寻找SQL语句的等效转换,就像大多数SUBSELECT可以重写为JOIN一样。

在.NET中寻找简单的规则引擎库

有谁知道一个好的.NET库规则库(理想的开源)? 我需要一些可以嵌套逻辑expression式的东西,例如(A和B)和(B或C或D)。 我需要做对象属性的比较,例如A.P1和B.P1。 (理想情况下,我可以比较任何财产 – A.P1和B.P2)。 它应该将规则存储在数据库中(我有很多简单的可configuration逻辑)。 它应该有一个规则创build/pipe理API。 pipe理工具必须检查实例以确定哪些属性可用以及存在哪些约束。 谢谢! 哦,还有一件事。 作为规则引擎,我需要包含Actions(命令)的概念。 这些是expression式返回时执行的内容: 如果(expression.Evaluation){actions.Execute(); } 所以我看到一个规则是这样的: class Rule { Expression Exp; Actions[] Actions; Run() { if(Exp.Evaluate()) { foreach(action in Actions) { action.Execute() ; } } } }

直觉型理论的组合逻辑等价物是什么?

我最近完成了一门以Haskell和Agda(一种依赖types的函数式编程语言)为特色的大学课程,并且想知道是否可以用组合逻辑来替代这些中的lambda演算。 对于Haskell来说,使用S和K组合器似乎是可能的,从而使其不存在任何问题。 我想知道Agda的等价物是什么。 也就是说,能不能使用任何variables就可以生成一个与Agda相当的函数式编程语言? 另外,是否有可能以某种方式取代组合器的量化? 我不知道这是否是巧合,但是例如通用量化使得types签名看起来像一个lambdaexpression式。 有没有办法从types签名中去除通用量化而不改变其含义? 例如: forall a : Int -> a < 0 -> a + a < a 同样的事情可以不使用forall来expression吗?

为什么如果(n和-n)== n那么n是2的幂?

java.util.Random源代码行294说 if ((n & -n) == n) // ie, n is a power of 2 // rest of the code 为什么是这样?

((a +(b&255))&255)与((a + b)&255)相同吗?

我正在浏览一些C ++代码,发现这样的东西: (a + (b & 255)) & 255 双烦恼我,所以我想到: (a + b) & 255 ( a和b是32位无符号整数) 我很快写了一个testing脚本(JS)来证实我的理论: for (var i = 0; i < 100; i++) { var a = Math.ceil(Math.random() * 0xFFFF), b = Math.ceil(Math.random() * 0xFFFF); var expr1 = (a + (b & 255)) & 255, expr2 = (a + b) & […]

为什么这个if语句,赋值和相等检查,评估为false?

如果 Java if语句具有赋值和相等性检查OR -d,它们是如何工作的? public static void test() { boolean test1 = true; if (test1 = false || test1 == false) { System.out.println("TRUE"); } else { System.out.println("FALSE"); } } 为什么这个打印FALSE?

是|| 和! 运营商足以使每一个可能的逻辑expression?

例如,逻辑expression式( a && b ) ( a和b都具有布尔值)可以像!(!a || !b)那样写成。 这是不是意味着&&是“不必要的”? 这是否意味着所有的逻辑expression式只能使用|| 和! ?

检查三个布尔值中的至less两个是否为真

面试官最近问我这个问题:给定三个布尔variablesa,b和c,如果三个中至less有两个是真的,则返回true。 我的解决scheme是: boolean atLeastTwo(boolean a, boolean b, boolean c) { if ((a && b) || (b && c) || (a && c)) { return true; } else{ return false; } } 他表示,这可以进一步改善,但如何?

Django基于添加表单编辑表单?

我做了一个很好的表单,还有一个非常复杂的“添加”function来处理它。 像这样开始… def add(req): if req.method == 'POST': form = ArticleForm(req.POST) if form.is_valid(): article = form.save(commit=False) article.author = req.user # more processing … 现在我真的不想在edit()方法中复制所有的function,所以我想edit可以使用完全相同的模板,也许只是添加一个id字段到表单,所以add函数知道它正在编辑。 但是这有几个问题 我将在哪里add func的article.id ? 它必须在form.save之后,因为这是创build文章的地方,但它永远不会达到这个目的,因为由于唯一约束(除非用户编辑所有内容),表单是无效的。 我可以删除is_valid检查,但是然后form.save失败。 如果表单实际上是无效的,我不会保留在编辑function中dynamic添加的字段。 那我该如何处理呢?