【发布时间】:2014-06-18 03:13:37
【问题描述】:
在 Prolog 中读取文件出错
嗨,我正在做一个 Prolog 项目,我需要阅读其中的整个文件。我有一个名为“meno.txt”的文件,我需要阅读它。我在堆栈上找到了一些代码。代码如下:
main :-
open('meno.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).
当我调用 main/0 谓词时,我收到一条错误消息,提示文件意外结束。我的文件如下所示:
line1
line2
line3
line4
我在这里也发现了类似的问题以及 ASCII 和 UTF 编码的解决方案,但我试过了,它似乎不是我的解决方案。有人可以帮忙吗?
【问题讨论】:
-
如果每一行都是谓词,例如
subtype("apple","fruit"),并且输入文件最初是由Prolog I/O写入的,我的问题是,你如何写入带有句点的文件一开始就结束了?