Shammer's Philosophy

My private adversaria

&restを使ってappend-string

文字列の連結は、普通は(concatenate 'string "ABC" "DEF")というようにするのかもしれないが、何度も書くと冗長な気がするので、独自のappend-stringを定義。

(defun append-string (original-string append-string)
  (concatenate 'string original-string append-string))

だが、これだとすぐに複数の文字列を連結できないことに気付く。そこで、先日やった&restを使用して以下のようなマクロにしてみた。

(defmacro append-string (original-string &rest append-string)
  `(concatenate 'string ,original-string ,@append-string))

大したことない処理だが・・・慣れのためのステップだ。