prolog - Prolog中美元符号($)和数字(或井号)符号(#)的区别

标签 prolog eclipse-clp

我发现我可以在 Prolog 中 suspend 的缩短版本中使用 from $#。因此,我可以编写以下查询:

?- X $> 2, X = 2.5.

结果是:

X = 2.5
Yes (0.11s cpu)

那么 #$ 有什么区别,为什么会出现下面的查询结果:

?- X #> 2, X = 2.5.

是:

No (0.02s cpu)

?

最佳答案

它们都用于在lib(suspend) 的序言中暂停。但是,区别$ 用于实数,而 # 用于整数。因此,查询 X #> 2, X = 2.5. 被拒绝了。例如对于 X #> 2, X = 3. 的查询,你会得到 yes 并且对于一般情况 X $> 2 也是一样的, X = 3。

关于prolog - Prolog中美元符号($)和数字(或井号)符号(#)的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55659980/

相关文章:

prolog - 无法从 CLPFD 最小化工作

debugging - 当你跟踪时,Prolog 中的重做是什么?

prolog - CLP: 'not three same values'的高效模型

prolog - 如何判断 clpfd 程序的计算复杂度是多少?

prolog - 删除列表中的前导 s(s(0))

prolog - DCG:将余数分配给 DCG {} 代码中的变量

prolog - lib(ic) 的精确解

prolog - 3 行逻辑谜题 : optimisation for sequence constraints in lists/arrays

constraint-programming - 具有最活跃社区和资源的约束编程工具集