私はPrologの初心者で、すでに理解すべき問題がいくつかあります。つまり、コンソールによって導入されたいくつかの文字列を追加するテストを行っていました:
append_str([],Adder,Adder).
append_str([Head|Tail],Adder,Result):-
append_str(Tail,[Head|Adder],Result).
sread_str(String):-
read(String),
atom(String).
sinput:-
sinput_str([]).
sinput_str(Lista):-
sread_str(String),
sinput_str([String|List]).
sinput_str(List):-
append_str(List,[],Result),
nl,
display(Result),
nl.
そして最終的には常にこの出力を取得します:
|-? sinput.
sinput.
hello.
hello.
world.
world.
9.
9.
'.'(hello,'.'(world,[]))
数値は、コンソールがさらに値を要求するのを終了するためのものです。何が問題なのかわかりません。よろしくお願いします。