Input 输入流-关闭
如何使用Input 输入流-关闭,input,prolog,inputstream,Input,Prolog,Inputstream,如何使用+组合关闭SWI Prolog中的输入流 bot:- repeat, write('>'), readln(X), nl, answer(X, Answer), write(Answer), nl, end(X). end(X):-member('end',X). Where X is a list of keywords to that bot 我应该如何修改源代码以获得该结果?作为SWI Prolog开发负责人Jan
+
组合关闭SWI Prolog中的输入流
bot:-
repeat,
write('>'),
readln(X), nl,
answer(X, Answer),
write(Answer), nl,
end(X).
end(X):-member('end',X).
Where X is a list of keywords to that bot
我应该如何修改源代码以获得该结果?作为SWI Prolog开发负责人Jan Wielemaker: [
readln
是]旧有做法的产物。它没有很好的定义。使用库(readutil)
谓词。这些都有文档记录,而且设计得更好
我已经找到了解决办法。 为了得到这个结果,我必须在流的末尾应用,然后剪切“!” 最后两行代码使它如我所期望的那样工作。 现在,当使用组合
Ctrl+D
时,我们可以停止它(关闭流,这与关闭bot相同)
@拉斯曼:很高兴知道,
readln
是坏的或者不是最佳的。也许下次我会用这个技巧。:) 现在,如果我输入:'end',我会得到一些默认语句和'true'值,是什么使该流关闭的,但是如何将其更改为CTRL+DHmm,而不是该库。不能解决我的问题。。也许是的,但我还没看到
bot:-
write('Hello'),
nl,
write('>'),
repeat,
readln(X),
answer(X, Answer),
write(Answer),
nl,
write('>'),
at_end_of_stream, !.