2013-11-26 68 views
0

我需要從鍵盤輸入(列表)中得到一個沒有重複的列表,但不使用XSB prolog中的inbuild setof(或任何其他inbuild函數)。XSB Prolog:編寫我自己的setof函數

我該如何編寫自己的setof函數?

輸入和輸出應該是這樣的:

|?-list([a,b,c,d,a,b,c,d,e,f],L). 

L=[a,b,c,d,e,f]; 

在此先感謝。

+2

'list(A,B): - sort(A,B).' – CapelliC

+0

我更新了這篇文章,我們不能使用任何將等級排除在外的函數 – user3033489

+0

您是如何寫成員/ 2 ? – CapelliC

回答

1

使用成員/ 2非常簡單:只需爲每個元素創建一個副本,使用遞歸列表/ 2,檢查輸入列表的頭部,但它不在目標列表中。檢查可能由成員/ 2執行,您將需要編寫自己的...整個程序應該是4行代碼。