2017-10-14 84 views
0

我想导出结果的计算,以在Prolog的文本文件,尝试以下操作:如何在Prolog中将计算结果写入文件?

我编译下面的程序test.pl

write_to_file(File, Text) :- 
    open(File, write, Stream), 
    write(Stream, Text), nl, 
    close(Stream). 

我做到以下几点:

Y is 2**10000.

最后:

write_to_file('test.txt',Y).

但文件test.txt内容如下:

_306

我在做什么错?

回答

0

如果要在对Prolog顶级调用的不同调用中重用变量,则需要在该变量前加$字符。对于你的例子:

?- Y is 2**10000. 
?- write_to_file('text.txt', $Y). 

,如果你在一个使两个电话,使用Prolog的结合(,)这是没有必要:

?- Y is 2**10000, write_to_file('text.txt', Y).