您可以使用read
读取流。记得调用at_end_of_stream
以确保没有语法错误。
例子:
读文件.pl
main :-
open('myFile.txt', read, Str),
read_file(Str,Lines),
close(Str),
write(Lines), nl.
read_file(Stream,[]) :-
at_end_of_stream(Stream).
read_file(Stream,[X|L]) :-
\+ at_end_of_stream(Stream),
read(Stream,X),
read_file(Stream,L).
我的文件.txt
'line 0'.
'line 1'.
'line 2'.
'line 3'.
'line 4'.
'line 5'.
'line 6'.
'line 7'.
'line 8'.
'line 9'.
因此通过调用main
您将收到输出:
?- main.
[line 0,line 1,line 2,line 3,line 4,line 5,line 6,line 7,line 8,line 9]
true
只需配置main
。这里的输出是使用的示例write
, 当然。配置以满足您的要求。
我想这个原则可以用来回答你的问题。祝你好运。