首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prolog:将清单/1的结果导出到文件中

Prolog:将清单/1的结果导出到文件中
EN

Stack Overflow用户
提问于 2016-12-07 19:30:28
回答 1查看 449关注 0票数 0

我希望将清单/1在prolog“窗口”中打印出来的结果导出/保存到文本文件中。有办法这样做吗?

我的代码:

代码语言:javascript
复制
parent(a,b).
parent(c,d).
parent(f,g).

list_items(G) :-
    current_predicate(G),
    listing(G).

以及我想要保存到文本文件中的prolog中的输出:

代码语言:javascript
复制
| ?- 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 )谢谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-07 20:41:44

可以通过调用tell/1将流输出更改为文件,列出所需内容,然后调用told/0

例如:

代码语言:javascript
复制
  tell('MyListing.txt'), 
  listing(A), 
  told.

评论后的编辑:

如果您打算让listing/1回溯所有匹配过程,那么您可能需要将tell/ let /tell分割成两个子句。

即:

代码语言:javascript
复制
list_items(A) :-
     tell('MyListing.txt'), 
     current_predicate(A),
     listing(A),
     fail.
list_items(_) :- told.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41025789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档