複雑な文字列を作成する - lisp-cookbook-ja/common-lisp GitHub Wiki
複雑な文字列を作るときは文字列ストリームが便利です。
;; 「, 」で区切られた0から9までの数
(with-output-to-string (s)
(dotimes (n 10)
(unless (zerop n)
(princ ", " s))
(princ n s)))
;=> "0, 1, 2, 3, 4, 5, 6, 7, 8, 9"
また、formatはとても高機能なので、formatだけでもかなり複雑な文字列を作れます。
;; 空白で区切られた1から10までの数に対応する英単語
(format nil "~{~R~^ ~}" (loop :for i :from 1 :to 10 :collect i))
;=> "one two three four five six seven eight nine ten"