我是新來的Prolog和我有點難以理解一些機制實際工作。現在我正在努力解決一個特定的問題。對序言,列表和對新來說
我需要從單個列表中找到所有可能的對,所以我試圖定義規則select_pairs(X,Y,_,Z)。
下面是我期望看到,當我運行給定的查詢。
查詢:select_pairs(X,Y,[1,2,3],Z)。返回以下內容:
X = 1, Y = 2, Zs = [3] ;
X = 1, Y = 3, Zs = [2] ;
X = 2, Y = 1, Zs = [3] ;
X = 2, Y = 3, Zs = [1] ;
X = 3, Y = 1, Zs = [2] ;
X = 3, Y = 2, Zs = [3]
AND查詢select_pairs(1,2,Xs,[3])。返回以下內容:
Xs = [1, 2, 3] ;
Xs = [2, 1, 3] ;
Xs = [1, 3, 2] ;
Xs = [2, 3, 1] ;
Xs = [3, 1, 2] ;
Xs = [3, 2, 1] ;
到目前爲止,我只能從第一個查詢中得到第一個結果而不顯示任何內容。我接近這個的最好方法是什麼?謝謝!
我不清楚:有_you_定義了謂詞'select_pairs/4'?它是如何定義的?您正在顯示的商品是您在屏幕上看到的內容還是您期望看到的內容? – 2013-04-16 05:14:30
對不起,我應該澄清...我需要定義select_pairs。我有一個部分定義,但它只返回我期望得到的一小部分。 以上兩個清單都顯示了我期望在正常運行時看到的內容。 –