% facts
mother(john, dana).
father(john, david).
mother(chelsea, dana).
father(chelsea, david).
mother(jared, dana).
father(jared, david).
% queries
parent(X,Y) :- father(X,Y);mother(X,Y).
当我键入“parent(john,X)。”时,我得到X = dana,但没有得到X == david。但是,在我以前的question上,回答我的人似乎已经双亲。这是gprolog的限制还是我做错了什么?
最佳答案
要获得所有结果,您必须按分号;
,每个解决方案一次。
如果要以列表的形式获取所有结果,可以尝试
?- findall(X, parent(john, X), L).
L = [david,dana]
关于prolog - GNUProlog仅返回查询的值之一,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8404424/