我希望将清单/1在prolog“窗口”中打印出来的结果导出/保存到文本文件中。有办法这样做吗?
我的代码:
parent(a,b).
parent(c,d).
parent(f,g).
list_items(G) :-
current_predicate(G),
listing(G).以及我想要保存到文本文件中的prolog中的输出:
| ?- list_items(X).
% file: C:/GNU-Prolog/file.pl
parent(a, b).
parent(c, d).
parent(f, g).
X = parent/2 ? ;
% file: C:/GNU-Prolog/file.pl
list_items(A) :-
current_predicate(A),
listing(A).
X = list_items/1 ? ;
no(我正在使用GNU prolog,如果这有帮助的话:D )谢谢您的帮助!
发布于 2016-12-07 20:41:44
可以通过调用tell/1将流输出更改为文件,列出所需内容,然后调用told/0。
例如:
tell('MyListing.txt'),
listing(A),
told.评论后的编辑:
如果您打算让listing/1回溯所有匹配过程,那么您可能需要将tell/ let /tell分割成两个子句。
即:
list_items(A) :-
tell('MyListing.txt'),
current_predicate(A),
listing(A),
fail.
list_items(_) :- told.https://stackoverflow.com/questions/41025789
复制相似问题