Function COPY-LIST

UP


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

備考

作成されたコピーは、listequalですが、 eqではありません。


TOP, Github