为什么SWI-Prolog只给我第一个答案?

时间:2015-12-25 13:24:41

标签: prolog prolog-toplevel

我是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的所有组合吗?

有谁知道问题是什么?

1 个答案:

答案 0 :(得分:11)

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

  • [Enter]即使回溯尚未完成也会停止执行
  • [Spacebar][;]继续从您的上一个结果回溯到下一个结果,如果没有其他结果,则继续false