Prolog:将文本添加到文件末尾

时间:2011-06-23 14:17:33

标签: prolog

我想在prolog中向数据库添加文本。像

这样的东西
adding :- tell('a.txt'), write('abc'), told.

但不会覆盖a.txt。我尝试使用像这样的追加:

append('a.txt'),write('abc'), told.

但它不起作用。监听器只是给出“否”响应,文件不会更改。 我正在使用Amzi Prolog,顺便说一句。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:5)

您必须使用这些IO谓词:open / 3,write / 2,close / 1。

adding :- open('a.txt', append, Handle), write(Handle, 'abc'), close(Handle).

检查here

答案 1 :(得分:1)

在SWI-Prolog中,这有效:

?- append('a.txt'), write('abc'), told.
true.

?- append('a.txt'), write('abc'), told.
true.

也许Amzi Prolog没有append/1,这会导致失败而不是异常。或者文件可能不可写(这会导致失败,而不是异常)。