我有一个如下所示的谓词:
condition_met([(X + 1) < 5 | Rest]) :- condition_met(Rest),
at(X,_),
write('X = '),
write(X),
Temp is (X + 1),
Temp < 5, !.
at(X,Y)
是我在运行查询之前断言的。当我断言这两个值是使查询成为真的数字时,它运行正常。但是一旦我断言X大于4,我就会在(&lt;)上得到一个实例化错误。我不明白为什么它不会只返回没有。
答案 0 :(得分:0)
我发现了我的问题。我仍然不确定为什么会这样,但我对标签的工作方式有不了解。我找到了一种方法来从谓词中得到我想要的答案。