我想读取用户名并用大写字母显示,我做了类似的事情。
1,1
1,12
我不明白它看起来的问题,比如user_input是empy而没有任何读取执行。
甚至更奇怪这个似乎运作良好......
notice:-
write('Hi whats ur name?'), nl,
read_line_to_codes(user_input,Codes1),
capitalize(Codes1,Codes2)
->
atom_codes(Name,Codes2),
write(Name).
capitalize([],[]).
capitalize([H1|T], [H2|T]):-
code_type(H2, to_upper(H1)).
答案 0 :(得分:0)
您究竟如何运行此代码进行测试?
您的代码的第一个版本在SWI-Prolog shell中可以正常使用:
?- notice.
Hi whats ur name?
|: isabelle
Isabelle
true.
当作为“独立”程序启动时,它也可以正常工作:
$ swipl -s foo.pl -q -t notice
Hi whats ur name?
|: isabelle
Isabelle
(虽然您应该在输出后添加换行符。)