2011-05-10 59 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)。