2013-02-24 52 views
0

如果我有如下關係:Return語句列表中的

? friend(tom, X). 
X = jim ; 
X = tom ; 
X = joe ; 
X = bob ; 
false. 

我怎樣才能把輸出分爲:

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

回答

1

我想通了;我用bagof作爲解決方案謂語的一部分,具體如下:

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

這將是一個好主意,也與'SETOF/3'和'的findall/3',他們從如何區別'bagof熟悉/ 3'。 – 2013-02-25 05:42:18