リストがL =[a+b,b+c]
あり、それを文字列に変換して出力したいと考えていますa+bb+c
。
このリストを文字列に変換するのを手伝ってくれませんか? atomic_list_concat
SWI-Prolog で使用しようとしましたが、 の型エラーが発生しましたa+b
。
リストがL =[a+b,b+c]
あり、それを文字列に変換して出力したいと考えていますa+bb+c
。
このリストを文字列に変換するのを手伝ってくれませんか? atomic_list_concat
SWI-Prolog で使用しようとしましたが、 の型エラーが発生しましたa+b
。
SWI-Prolog では:
?- with_output_to(atom(Atom), maplist(write, [a+b, b+c])).
Atom = 'a+bb+c'.
write
用語 ( など) の記述方法をさらに制御する必要がある場合は、カスタム述語の呼び出しに置き換えることができますa+b
。
リストのメンバーは複合項であるため、呼び出す前にアトミックにする必要がありますatomic_list_concat
。
custom_print(L) :-
maplist(term_to_atom, L, L1),
atomic_list_concat(L1, L2),
print(L2).