我有一個稱爲修改列表的函數實現如下所示,但它只適用於頂級列表。在LISP中修改/替換
(defun modify-list (old new a-list)
(cond
((null a-list) nil)
((eql (car a-list) old) (cons new (modify-list old new (cdr a-list))))
(T (cons (car a-list)(modify-list old new (cdr a-list))))))
CL-USER 16:6>(修改列表 '一個' X「(P A d克℃的)) (P X d克碳X)< - GOOD!
CL-USER 17:6>(修改列表'a'x'(p a d(g a)c a)) (P X D(G A)C X)< ----不好!
任何人都可以幫助我使這個函數在嵌套列表上工作嗎?
這就是爲什麼我愛堆棧溢出...總是有用的感謝 – user1013905