2011-05-06 45 views
0

我使用swi序言。我的代码运行第一行,但它不运行其他。序言问题

see(Data), //open file to read 
    repeat, 
    readln(A), //read line from file 
    write(A), 
    A\==end_of_file,!. 

我得到一个意外的文件错误结束。你有什么主意吗?

回答

1

readln/1不在swi-prolog手册中,所以也许你应该包含代码。 假设它确实你说什么,该代码也许应该是:

see(Data), //open file to read 
    repeat, 
    readln(A), //read line from file 
    write(A), 
    A=end_of_file,!. 

/0“结构”的工作原理是重复......直到

在一个侧面说明重复,我宁愿递归解决方案... like

io(end_of_file):- 
    write(end_of_file). 
io(_):- 
    readln(A), 
    write(A), 
    io(A). 

感觉更具说明性。