-1
我有一個需要處理和寫出的攪拌列表。 我用H | Tail遞歸獲得字符串。 h會看起來像 「聲明(FOO和Foo2,foo3,foo4,foo5)」 東西,我希望能夠寫出來只是富和Foo2,foo3在單獨的行在序言中操縱字符串
出:富
吧: foo2的
...
...
格:foo5
我有一個需要處理和寫出的攪拌列表。 我用H | Tail遞歸獲得字符串。 h會看起來像 「聲明(FOO和Foo2,foo3,foo4,foo5)」 東西,我希望能夠寫出來只是富和Foo2,foo3在單獨的行在序言中操縱字符串
出:富
吧: foo2的
...
...
格:foo5
字符串轉換爲代碼,代碼的一個術語,然後解構術語:
/* 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 2010-11-20 23:55:48