3

構造体のリストがあり、元のリストに影響を与えずに構造体のいくつかのスロットを変更する関数を作成したいと思います。コピーリストを使ってみましたが、十分ではありません。スロット値も元のリストで変更されます。私の質問は、私が望むことを行う組み込み関数はありますか?それとも私は自分で関数を書くべきですか?ありがとうございました。

編集:

続けて自分の関数を書きましたが、これを行う組み込み関数はありますか?

(defun deep-copy (li)
    (if (null li)
        nil
        (cons (copy-structure (car li)) (deep-copy (rest li)))))
4

1 に答える 1

9

その関数を事前に定義しておく価値はほとんどありません。

あなたのコードはただです:

(mapcar #'copy-structure some-list)
于 2012-10-17T06:43:00.320 に答える