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

有人知道问题出在哪里吗?

最佳答案

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


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

关于prolog - 为什么SWI-Prolog只给我第一个答案?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34463248/

10-15 19:30