2
如何保存必要的條款? 例如,如何將項目保存到Prolog中?
save_to_file(File) :-
tell(File),
listing,
told.
保存所有用戶規定將File
。 但是,我怎樣才能保存只有必要的文件?
如何保存必要的條款? 例如,如何將項目保存到Prolog中?
save_to_file(File) :-
tell(File),
listing,
told.
保存所有用戶規定將File
。 但是,我怎樣才能保存只有必要的文件?
使用open/3和close/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)將是你真正想要的。
但是我應該怎麼做才能保存所有類似的術語,如喜歡(約翰,蘋果),喜歡(邁克,橙子),喜歡(瑪麗,捲心菜)? – qutron 2011-01-05 20:29:54
只是改變上面的列表。所以,而不是上市,你可以替代上市(喜歡)或如果你想更具體,列表(喜歡/ 2) – Roman 2011-01-05 21:50:57
@qutron:啊,所以你想要的不是保存一個術語,而是保存一個選擇謂詞到文件。 – false 2011-01-05 22:23:46