% Function COPY-LIST
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))
slst => ("one" (2 3))
clst => (1 (2 3))
(setf (caadr lst) "two") => "two"
lst => ("one" ("two" 3))
slst => ("one" ("two" 3))
clst => (1 ("two" 3))
なし。
なし。
listが循環リストのときの結果は未定義です。
copy-alist
,
copy-seq
,
copy-tree
作成されたコピーは、listとequal
ですが、
eq
ではありません。