1
ファイルを読み込んだ後、最初のファイルの結果に従って別のファイルを書きたいのですが、最初のファイルを読み込んだらすぐにプログラムは終了します。私はなぜそれが起こったの原因を捜したが、私は何も発見していない。私は誰かが私を助けることができるかどうかを知りたいです。Swi Prologスクリプトが正しく実行されない
これはコードです:
main :-
current_prolog_flag(argv, Argv),
[H|_T] = Argv,
readPlainText(H),
getList(L),
open('result.txt',write,X),
write(X, L), nl(X),
close(X),
halt.
main :-
halt(1).
、スクリプトが後のコードのこの部分を実行停止します。
readPlainText(X) :-
open(X, read, Stream),
readWords(Stream),
close(Stream).
私は、コンソールから実行しています:
swipl -s leer.pl --quiet menciones.txt
EDIT:私は問題がat_end_of_streamのためだと思う。
readWords(InStream) :-
\+ at_end_of_stream(InStream),
readWord(InStream, W),
write(W), nl,
addWordToDatabase(W),
readWords(InStream).