【问题标题】:copying list of structs in common lisp在 common lisp 中复制结构列表
【发布时间】:2012-10-07 06:37:12
【问题描述】:

我有一个结构列表,我想编写一个函数来改变结构中的一些槽而不影响原始列表。我尝试使用复制列表,但它不够深;插槽值也在原始列表中更改。我的问题是,是否有一个内置函数可以满足我的需求?还是我应该自己编写一个?谢谢。

编辑:

我继续写了自己的函数,有没有内置的函数可以做到这一点?

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

【问题讨论】:

    标签: list struct copy common-lisp pass-by-value


    【解决方案1】:

    预定义该功能没有什么价值。

    您的代码只是:

    (mapcar #'copy-structure some-list)
    

    【讨论】:

    • AAAahhhhhh,你是对的:D。这是一个愚蠢的问题,虽然已经很晚了:D。非常感谢您花时间回答这个问题。
    猜你喜欢
    • 2011-03-31
    • 1970-01-01
    • 2018-02-21
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-16
    相关资源
    最近更新 更多