【发布时间】:2015-12-26 17:16:25
【问题描述】:
所以我在 test.pl 文件中写了这个 Facts:
bottle(b1).
bottle(b2).
bottle(b3).
bottle(b4).
full(b1,100).
full(b2,750).
full(b3,500).
full(b4,250).
consume(X, Y). :-full(X,Z);Z>=Y.
单词的最后一行: 如果消耗的 Y 参数小于瓶子满的情况,它应该返回 true。但是,如果我查询这个函数,结果总是正确的。我是 Prolog 的新手,所以如果你能解释为什么会出现错误并指出我如何解决这个错误的正确方向。
【问题讨论】:
-
您应该收到很多关于您选择忽略的“单例变量”的警告。
-
请注意 Prolog 不使用 函数,这些是 谓词,这是一个重要方面。
-
@false 是的,我确实做到了
-
@false 为什么我会收到错误消息?消耗(瓶(X),Y):- 满(瓶(X),Z);Z
-
用
=<替换<=