включить факт в файл в прологе - PullRequest
0 голосов
/ 22 мая 2010

Как я могу вставить факт в файл, не удаляя предыдущий факт?

В следующей строке, когда я выполняю его дважды, второй факт перезаписывает первый факт:

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

Но когда я использую assert или assertz, это ничего не даст.

Помогите мне, пожалуйста.

Спасибо:)

1 Ответ

0 голосов
/ 22 мая 2010

tell усекает файл, в который вы пишете.

Используйте взамен append('animal.txt').Это запишет в конец файла.

В ответ на ваш комментарий :

Куда его положить?

Вы имеете в виду append/1?

Разве код в вашем вопросе не должен соответствовать вашим type/2 определениям (с добавлением и заменой рассказать)?Например,

type(1, Name) :-
    append('animal.txt'),
    write(mammal(Name)), nl,
    told.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...