Prolog 返回列表中的语句

Prolog 返回列表中的语句,prolog,Prolog,如果我有以下关系: ? friend(tom, X). X = jim ; X = tom ; X = joe ; X = bob ; false. 如何将输出转换为: X = [jim, tom, joe, bob]. 我明白了;我使用了bagof作为解决方案谓词的一部分,如下所示: bagof(X, friend(tom, X), Xs). 最好也熟悉setof/3和findall/3以及它们与bagof/3的区别。

如果我有以下关系:

? friend(tom, X).
X = jim ;
X = tom ;
X = joe ;
X = bob ;
false.
如何将输出转换为:

X = [jim, tom, joe, bob].

我明白了;我使用了
bagof
作为解决方案谓词的一部分,如下所示:

bagof(X, friend(tom, X), Xs).

最好也熟悉
setof/3
findall/3
以及它们与
bagof/3
的区别。