concat(+コンカットリスト,-アトム) concat(+コンカットリスト,+分離記号,-アトム)
リストの要素が「コンカットリスト」に出て来る順序で連結され、「アトム」に単一化されます。concat/3が呼び出されると、「分離記号」中の「アトム」が「コンカットリスト」の各要素の間に挿入されます。
リストの要素は「アトム」や計算式ですが、複合項ではありません。計算式は評価され、結果は「アトム」に変換されます。
?- concat(['Database is size in Bytes : ', dbsize / dbused * 100],Result).
Result = 'Database is size in Bytes : 787500.0' yes ?- concat(['apples', 'pears', 'plums'], ' or ', P).
P = 'apples or pears or plums' yes ?- X is 7/2, concat(['sum', X + 1],' :', T).
X = 3.5 T = 'sum : 4.5' yes ?- concat(['apples'], ' or ', L). L = apples yes
illegal_list 「コンカットリスト」がリストでない atom_expected 「分離記号」がアトムでない