Function COPY-LIST
copy-list
list => copy
list - 通常のリストかドットリスト
copy - リスト
listのコピーを返却します。 もしlistがドットリストのとき、 結果のリストもまたドットリストです。
ただlistのリスト構造だけをコピーします。 結果のリストの要素は、引数listの対応する要素と同じです。
setq lst (list 1 (list 2 3))) => (1 (2 3))
(setq slst lst) => (1 (2 3))
(setq clst (copy-list lst)) => (1 (2 3))
(eq slst lst) => true
(eq clst lst) => false
(equal clst lst) => true
(rplaca lst "one") => ("one" (2 3))
(=> ("one" (2 3))
slst => (1 (2 3))
clst setf (caadr lst) "two") => "two"
(=> ("one" ("two" 3))
lst => ("one" ("two" 3))
slst => (1 ("two" 3)) clst
なし。
なし。
listが循環リストのときの結果は未定義です。
copy-alist
, copy-seq
, copy-tree
作成されたコピーは、listとequal
ですが、 eq
ではありません。