-1
私は操作と書き出しが必要な攪拌のリストを持っています。 H |テイル再帰で文字列を取得します。 FOO
バー: Hは "声明(FOO、foo2は、foo3、foo4、foo5)" 私は唯一のfooを書き出すことができるようにしたい、foo2は、別の行にfoo3プロローグで文字列を操作する
アウトのようになります。 foo2は
...
...
DIV:foo5コードへ
私は操作と書き出しが必要な攪拌のリストを持っています。 H |テイル再帰で文字列を取得します。 FOO
バー: Hは "声明(FOO、foo2は、foo3、foo4、foo5)" 私は唯一のfooを書き出すことができるようにしたい、foo2は、別の行にfoo3プロローグで文字列を操作する
アウトのようになります。 foo2は
...
...
DIV:foo5コードへ
変換文字列、用語のコード、そして用語destructure:
/* SWI Prolog
*/
read_from_string(String, Term) :-
string_to_list(String, List),
read_from_chars(List, Term).
demo:-
String="statement(foo, foo2, foo3,foo4,foo5)",
read_from_string(String, Term),
Term =.. [Fst,Snd,Thr|Rest],
write(functor:Fst),nl,
write(arg1:Snd),nl,
write(arg2:Thr),nl,
write(rest:Rest),nl.
デモセッション:
?- demo.
functor:statement
arg1:foo
arg2:foo2
rest:[foo3,foo4,foo5]
true.
大(= ..)から得られたリスト内のそれぞれの位置に応じて印刷するアイテムを選択してください。ここで彼らはすべて印刷されました。
素晴らしい – user514706