File io 序言问题
我使用swi-prolog。我的代码运行第一行,但不运行其他行File io 序言问题,file-io,prolog,File Io,Prolog,我使用swi-prolog。我的代码运行第一行,但不运行其他行 see(Data), //open file to read repeat, readln(A), //read line from file write(A), A\==end_of_file,!. 我收到一个意外的文件结束错误。你有什么想法吗?readln/1在swi prolog手册中不是一个,所以也许你也应该包括这方面的代码。 假设它符合您所说的,那么代码可能应该是: see(Data),
see(Data), //open file to read
repeat,
readln(A), //read line from file
write(A),
A\==end_of_file,!.
我收到一个意外的文件结束错误。你有什么想法吗?readln/1在swi prolog手册中不是一个,所以也许你也应该包括这方面的代码。 假设它符合您所说的,那么代码可能应该是:
see(Data), //open file to read
repeat,
readln(A), //read line from file
write(A),
A=end_of_file,!.
repeat/0“结构”的工作原理类似于repeat…直到
另一方面,我更喜欢递归解决方案……比如
io(end_of_file):-
write(end_of_file).
io(_):-
readln(A),
write(A),
io(A).
感觉更具陈述性