1

リストがL =[a+b,b+c]あり、それを文字列に変換して出力したいと考えていますa+bb+c

このリストを文字列に変換するのを手伝ってくれませんか? atomic_list_concatSWI-Prolog で使用しようとしましたが、 の型エラーが発生しましたa+b

4

2 に答える 2

3

SWI-Prolog では:

?- with_output_to(atom(Atom), maplist(write, [a+b, b+c])).
Atom = 'a+bb+c'.

write用語 ( など) の記述方法をさらに制御する必要がある場合は、カスタム述語の呼び出しに置き換えることができますa+b

于 2012-09-14T09:36:16.460 に答える
1

リストのメンバーは複合項であるため、呼び出す前にアトミックにする必要がありますatomic_list_concat

custom_print(L) :-
  maplist(term_to_atom, L, L1),
  atomic_list_concat(L1, L2),
  print(L2).
于 2012-09-14T09:09:32.900 に答える