我怎么能断言一个事实,到一个文件,而不删除以前的事实?
在下面的线,当我执行了两次,第二个事实覆盖第一个事实:
tell('animal.txt'),write(Animal),nl,told.
但是当我使用assert
或assertz
它不会做任何事情。
请帮帮我。
谢谢 :)
我怎么能断言一个事实,到一个文件,而不删除以前的事实?
在下面的线,当我执行了两次,第二个事实覆盖第一个事实:
tell('animal.txt'),write(Animal),nl,told.
但是当我使用assert
或assertz
它不会做任何事情。
请帮帮我。
谢谢 :)
tell
截短你写入文件。
使用append('animal.txt')
来代替。 这将写入到文件的末尾。
在回答您的评论 :
我在哪里可以把它?
你的意思是append/1
?
不应该在你的问题中的代码你走type/2
的定义(含追加更换告诉)? 例如
type(1, Name) :-
append('animal.txt'),
write(mammal(Name)), nl,
told.