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

The difference between dollar sign ($) and number (or hash) sign (#) in Prolog

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

?- 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.

也是如此