そのクラスのオブジェクトのリスト要素を逆にする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)))))))