重複の可能性:
Prolog でファイルを 1 行ずつ読み取る
一度に 1 文字を読み取って出力する次のプロローグ コードを見つけました。
process(File) :-
open('C:/Users/BHARAT/Desktop/a.txt', read, In),
get_char(In, Char1),
process_stream(Char1, In),
close(In).
process_stream(end_of_file, _) :- !.
process_stream(Char, In) :-
print(Char),
get_char(In, Char2),
process_stream(Char2, In).
ただし、ファイルに複数の行がある場合、トークン化が簡単になるように、一度に 1 行全体を読み取る方法があります。