我有一个结构列表,我想编写一个函数来改变结构中的一些槽而不影响原始列表。我尝试使用复制列表,但它不够深;插槽值也在原始列表中更改。我的问题是,是否有一个内置函数可以满足我的需求?还是我应该自己编写一个?谢谢你。
编辑:
我继续编写自己的函数,是否有内置函数可以做到这一点?
(defun deep-copy (li)
(if (null li)
nil
(cons (copy-structure (car li)) (deep-copy (rest li)))))