事实上断言将在序言文件(assert fact into file in prolog)

2019-11-03 16:35发布

我怎么能断言一个事实,到一个文件,而不删除以前的事实?

在下面的线,当我执行了两次,第二个事实覆盖第一个事实:

tell('animal.txt'),write(Animal),nl,told.

但是当我使用assertassertz它不会做任何事情。

请帮帮我。

谢谢 :)

Answer 1:

tell截短你写入文件。

使用append('animal.txt')来代替。 这将写入到文件的末尾。

在回答您的评论 :

我在哪里可以把它?

你的意思是append/1

不应该在你的问题中的代码你走type/2的定义(含追加更换告诉)? 例如

type(1, Name) :-
    append('animal.txt'),
    write(mammal(Name)), nl,
    told.


文章来源: assert fact into file in prolog
标签: prolog