比较/交叉比较标准

时间:2009-08-31 11:52:40

标签: oop comparison criteria

如果有任何开源代码可以做到这一点,我有兴趣听到它。但是我还没有看到它,所以我试图自己动手。

示例:

variable x = compareCriteriaBetween 3 and 6
variable y = compareCriteriaLesserThanOrEqual 5

对我来说,困难的部分是找到一种优雅的方法来比较compareCriteria并创建一个交集。在示例中,两者之间的交点是“3到5之间”。

我如何以“告诉不要问”的方式实现这一点?请注意,compareCriteria可以完全不相关(例如startsWithLetter与betweenNumber)。

2 个答案:

答案 0 :(得分:1)

如果您只对简单标准感兴趣,例如不等于在整数/浮点数之间,则可以将重写为3到6 之间(大于等于3 等于6 )。如果将此与逻辑不等于5 结合使用,则可以使用布尔代数获取(更大等于3 不等于6 等于5 ))在将内括号简化为不等于5 之前并将结果重写为 3到5之间

答案 1 :(得分:1)

如果你的表达式中只有常量,那么undecidability就应该是安全的(我想!)。一旦您表达问题就会出现问题,例如有关带有+ - * /的整数的一般陈述(见Peano arithmetic)。

即使你处于可判定性的范围内,也不存在可以采用任意语句P(x)和Q(x)并且计算等于P(x)&的语句R(x)的算法。 Q(x)表示所有x,其中x可以超出任何域(整数,字符串,矩阵,实数,复数,逻辑语句[呐喊,回到不可判定的区域!],... )。您需要特定于域的技巧才能到达那里,并严格定界languages,其中包含P,Q和R.存在某些域的软件产品 - 其中一个称为Mathematica ......

尝试回归基础:你想解决什么问题?