我正在使用 SWI Prolog 学习 Prolog。考虑一下我有一个名为myFile.txt的文件,其中包含以下内容:
line1.
line2.
line3.
现在我正在尝试创建一个谓词,使用读取谓词必须读取此文件的内容,我创建了以下谓词:
readFileSee(InputFile) :- seeing(OldStream),
see(InputFile),
read(Term),
write(Term),
seen,
see(OldStream).
问题是,当我执行这个程序时,我只获得第一行。例如,如果我启动此语句,我将获得:
?- readFileSee('/home/andrea/Documenti/prolog/lezione6/project/myFile.txt').
line1
true.
read谓词读取Prolog 术语,但为什么只读取第一个术语?我该怎么做才能让它读取文件中包含的所有条款?我可以使用读取谓词吗?