我想要一个prolog程序,它可以在编译完成后自动运行,它应该从用户键盘读取输入。但是当我使用
时:- write('Your name is: '), nl, read(X).
对read(X)没有任何影响,这意味着我们没有提示用户键入。是否有解决此问题的方法?我的prolog编译器是WIN-Prolog 5.0,谢谢你的helo:)
答案 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'.