9

我是 Prolog 的新手。我只是在尝试简单的例子来学习。我有.pl这些行的文件:

parent(pam,bob).
parent(tom,bob).
parent(tom,lio).
parent(bob,ann).
parent(bob,pat).
parent(pat,jim).

经过咨询和测试,它只显示第一个答案。例如:

5 ?- parent(X,Y).
X = pam,
Y = bob .

难道不应该给出满足关系的所有组合parent吗?

有谁知道问题是什么?

4

1 回答 1

13

在您的第一个结果显示后不要按 Enter,而是使用空格键

  • [Enter]即使回溯尚未完成也停止执行
  • [Spacebar][;]继续从上一个结果回溯到下一个结果,或者false如果没有其他结果。
于 2015-12-25T13:28:19.880 回答