tur*_*ete 3 struct copy list common-lisp pass-by-value
我有一个结构列表,我想编写一个函数来改变结构中的一些插槽而不影响原始列表.我尝试使用copy-list,但它不够深入; 插槽值也在原始列表中更改.我的问题是,是否有内置函数可以完成我想要的操作?或者我应该编写自己的函数?谢谢.
编辑:
我接着编写了自己的函数,是否有一个可以执行此操作的内置函数?
(defun deep-copy (li)
(if (null li)
nil
(cons (copy-structure (car li)) (deep-copy (rest li)))))
Run Code Online (Sandbox Code Playgroud)