我希望在Prolog中有一个如下所示的条件表达式并进行测试。
checkNum(X,Y,helloWorld):- X=Y+1.
但是当我测试 checkNum(7,6,Z)时,它说不!我认为这种情况属实,但我无法理解它为什么不起作用。
答案 0 :(得分:1)
X=Y+1
尝试将变量X
与术语Y+1
统一起来。
当您将7
和6
传递给您的程序时,它会尝试将7
与6+1
这两个不相等的词统一起来。
您想要的是评估表达式的右侧(Y+1
)并查看它是否等于X
。
为此,您必须使用is/2
。
因此,您应该使用X is Y+1