gpt4 book ai didi

prolog - 使用 prolog 格式谓词打印到文件

转载 作者:行者123 更新时间:2023-12-04 22:59:07 25 4
gpt4 key购买 nike

是否可以使用序言format谓词打印到文件?

我有一个使用格式谓词打印到标准输出的数据表,即

print_table :-
print_table_header,
forall(range(1.0,10.0,0.1,N), print_row(N,L)).

%% print_row(L) :- take a list of the form, [a,b,c,d,e] and
%% print it to screen as a single row of tab separated float values (1DP)
print_row(N,L) :-
build_row(N,L),
format('~t~1f~10+ ~t~1f~10+ ~t~1f~10+ ~t~1f~10+ ~t~1f~10+ ~n', L).

print_table_header :-
format('~t~w~10+ ~t~w~10+ ~t~w~10+ ~t~w~10+ ~t~w~10+ ~n', ['N','N2','N3','N4','N5']).

以某种方式重用代码以将相同的内容打印到文件会很好。

最佳答案

我会用一个额外的参数来编写输出“例程”,一个 Stream ,然后我会通过 user在测试或打印到屏幕时。参见 ISO 谓词 open/3, close/1 等用于流处理...

请注意,IO 是该语言中最不“声明”的领域之一,因为为了提高效率,需要一种基于副作用的方法......

SWI-Prolog 有一个内置的 with_output_to ,这将允许在不添加参数的情况下重用现有代码。但既然你标记了 你的问题,你真的应该添加 Stream 参数......

关于prolog - 使用 prolog 格式谓词打印到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31728423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com