我正在为 CLOS 类编写一个函数,该函数反转所述类的对象的列表元素。
我有一个方法可以返回反向列表,但是如何让它将对象的列表设置为该列表?我可以在存储列表的函数中有一个实例变量然后将元素设置为那个吗?或者有没有更简单的方法?
这是现在的方法:
(defun my-reverse (lst)
(cond ((null lst) ‘())
(t (append (my-reverse (cdr lst)) (car lst)))))
它传递的对象是 (l my-list),然后访问器是 (my-list-ls l)。
编辑:意识到这cons
不适用于 2 个列表。
Edit2:我认为正确的代码是:
(defun my-reverse (l my-list)
(cond ((null (my-list-ls l) ‘())
(t (setf (my-list-ls l) (append (my-reverse (cdr (my-list-ls l)))
(car (my-list-ls l)))))))