如何在Prolog中保存术语?

时间:2011-01-05 18:03:13

标签: prolog

如何将必要的条款保存到文件中? 例如,

save_to_file(File) :-
    tell(File),
    listing,         
    told.   

将所有用户字词保存到文件File。 但是如何只保存必要的术语?

1 个答案:

答案 0 :(得分:3)

使用open/3close/1,您对safe_to_file / 1的定义更安全。 否则,在列表/ 0期间发生中断或错误 保持流打开,允许其他部分意外地写入同一文件。 所以,

save_to_file(File) :-
   open(File,write,Stream),
   with_output_to(Stream, listing),
   close(Stream).

更安全。现在,只有列表可以写入该文件。 with_output_to/2 特定于SWI,YAP。

回到你的问题,在大多数情况下, portray_clause(Stream,Term)将是你真正想要的。