2011-05-10 55 views
0

我用swi prolog,我有這樣一個文件,Prolog的文件操作

yeni(a,b,c). 
yeni(d,s,w). 

我儘量讓這發生謂詞列一個新的列表。如

[a,d] 
[b,s] 
[c,w] 

您有什麼建議嗎?

回答

1

用謂詞加載文件,然後用你的代碼加載文件。

獲得與謂詞的名單列表,你可以使用的findall/3謂詞:

answer([L1,L2,L3):- 
    findall(First, yeni(First,_,_),L1), 
    findall(Second, yeni(_,Second,_),L2), 
    findall(Third, yeni(_,_,Third),L3). 

如果你不想手動加載的文件,你可以加載其中的一個,當你加載其他像這樣:

:-consult(theOtherFile)。