リストを結合する


Tags: リスト, R5RS, R6RS

手続き append を使います。 最後の引数が行儀の悪いリストまたはリストでない値の場合は、行儀の悪いリストやリストでない値を返します。

;; R6RS に記載されている例
(import (rnrs base))

(append '(x) '(y))         ;=> (x y)
(append '(a) '(b c d))     ;=> (a b c d)
(append '(a (b)) '((c)))   ;=> (a (b) (c))
(append '(a b) '(c . d))   ;=> (a b c . d)
(append '() 'a)            ;=> a
(append '(1 2 3) '())      ;=> (1 2 3)
(append '(1 2) '() '(3 4)) ;=> (1 2 3 4)
(append '(1 2 3) 4)        ;=> (1 2 3 . 4)
(append '())               ;=> ()
(append)                   ;=> ()