Function COPY-ALIST
copy-alist
alist => new-alist
alist - 連想リスト
new-alist - 連想リスト
copy-alist
は、alistのコピーを返却します。
alistのリスト構造がコピーされ、 alistの要素のコンスもまたコピーされます (ただしコンスのみ)。 alistによって直接・間接に関わらず、 参照されている他のオブジェクトは、 引き続き共有されます。
defparameter *alist* (acons 1 "one" (acons 2 "two" '())))
(=> ((1 . "one") (2 . "two"))
*alist* defparameter *list-copy* (copy-list *alist*))
(=> ((1 . "one") (2 . "two"))
*list-copy* defparameter *alist-copy* (copy-alist *alist*))
(=> ((1 . "one") (2 . "two"))
*alist-copy* setf (cdr (assoc 2 *alist-copy*)) "deux") => "deux"
(=> ((1 . "one") (2 . "deux"))
*alist-copy* => ((1 . "one") (2 . "two"))
*alist* setf (cdr (assoc 1 *list-copy*)) "uno") => "uno"
(=> ((1 . "uno") (2 . "two"))
*list-copy* => ((1 . "uno") (2 . "two")) *alist*
なし。
なし。
なし。
なし。