Ich versuche, Deep-Reverse-Funktion in Lisp zu machen. Zum Beispiel:So machen Sie die Deep-Reverse-Funktion in Lisp
(a (b c d) e) -> (e (d c b) a)
Hier ist mein Code.
(defun deeprev (l)
(cond ((null l) nil)
((list (car l)) (append (deeprev (cdr l)) (deeprev (car l))))
(t (append (deeprev (cdr l))(car l)))
)
)
Immer, wenn ich kompilieren und Last, habe ich einen Fehler:
Error: Attempt to take the car of E which is not listp
http://stackoverflow.com/q/8797601/124319 – coredump
http://Stackoverflow.com/q/4102996/124319 – coredump