当我在下面的human(Who).
文件
.pl
时
human(ann).
human(george).
human(mike).
我只回来Who = ann .
而不是
Who = ann ;
Who = george ;
Who = mike.
使用prolog 6.6.6。如何让它显示完整列表?
答案 0 :(得分:2)
你得到的答案如下。你注意到点之前的空间吗?
Who = ann .
^ SPACE!!!
此空格表示:查询已中止。也许你输入了回报。或许你的终端有点配置错误。
为了更好地检查这一点,请尝试:
?- X = 1 ; X = 2 ; X = 3.
你也应该得到所有三个答案。如果没有,那绝对是你的终端
答案 1 :(得分:0)
您所看到的是prolog的默认行为。
查询
?- findall(Object,Goal,List).
应该适合你。
EG。
findall(X, human(X), L).
它会在列表中填入所有可能的答案。