Prolog读取谓词不能在初始化中读取用户密钥?

时间:2014-08-28 13:06:53

标签: prolog

我想要一个prolog程序,它可以在编译完成后自动运行,它应该从用户键盘读取输入。但是当我使用

:- write('Your name is: '), nl, read(X).

对read(X)没有任何影响,这意味着我们没有提示用户键入。是否有解决此问题的方法?我的prolog编译器是WIN-Prolog 5.0,谢谢你的helo:)

1 个答案:

答案 0 :(得分:0)

也许你需要像

这样的东西
:- initialization(main).  % changed to be ISO compliant, was :- initialization main.
main :- write('Your name is: '), nl, read(X).

至少,ISO Prolog以这种方式做到了....

由于read / 1旨在解析Prolog(它是一个完整的解析器),你必须提供一个Prolog术语,并且不要像Joel76建议的那样忘记用点完成输入:for实例:

Your name is: 
|: 'Carlo'.