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
的区别。