아래에 따르면 오류가 발생할 수있는 유형의 오류가 있다고 예상 할 때 삽입 사실은 행별로 성공적으로 발생한다고 생각합니다. 그러나 asserta는 제대로 작동하지 않습니다. 나는() (string_codes를? 문자열? 코드)를 사용하여 문자열로 변환하려고 또는 코드의 라인으로 삽입하지만 당신이 작성하고 다음 프롤로그 조건을 다시 읽으려는 성공외부 파일에서 전체 사실을 읽으십시오
start:-
writeToFile,
readFromFile,
usereduc(C,D),
writef(C),
writef(D).
writeToFile:-
writef('What is your Name'),nl,
read(Name),
writef('What is your country'),nl,
read(Country),
writef('What is your education'),nl,
read(Education),
open('output.txt',write,Out),
write(Out,usercountry(Name,Country)),nl(Out),
write(Out,usereduc(Name,Education)),
close(Out).
readFromFile:-
open('output.txt',read,In),
repeat,
read_line_to_codes(In,X),nl,
readfactsFromfile(X),asserta(X),
close(In).
readfactsFromfile(end_of_file).
readfactsFromfile(X):-
writef(X),
string_codes(S, X),
asserta(S),!,
fail.
대단히 고맙습니다. 또한 persistency.pl을 사용했으며 제대로 작동합니다. –