2010-05-21 5 views
0

어떻게 사실을 삭제하지 않고 파일에 어설트 할 수 있습니까? 다음 줄에 사실을 프롤로그에 파일로 어설트

, 나는 두 번을 실행할 때, 두 번째 사실은 처음 사실을 덮어 :

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

을하지만 assert 또는 assertz를 사용할 때 그것은 아무것도 할 것입니다.

도와주세요.

감사합니다 :)

+0

[Prolog - ASSERT and RETRACT]에 대한 답변보기 (http://stackoverflow.com/questions/2435237/prolog-assert-and-retract) – ony

답변

0

tell은 당신이 작성하는 파일을 자릅니다.

대신 append('animal.txt')을 사용하십시오. 그러면 파일의 끝에 씁니다. 응답에서

your comment에 :

가 어디를 넣을 수 있습니다?

append/1을 의미합니까?

귀하의 질문에있는 코드가 type/2 정의에 추가되면 안됩니까 (append to tell)? 예 :

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