Ich versuche, eine Funktion (lnn; list-not-nil) ähnlich wie list zu schreiben, die nur Werte anhängt, die nicht nil sind.
(list nil 3) --> (NIL 3)
(lnn nil 3) --> (3)
Hier ist der Code, den ich bis jetzt habe. Aus irgendeinem Grund verursacht es unendliche Rekursion auf jede Eingabe, die ich versuche.
(defun lnn (&rest items)
(lnn-helper nil items))
(defun lnn-helper (so-far items)
(cond ((null items)
so-far)
((null (car items))
(lnn-helper so-far (cdr items)))
(t (lnn-helper (append so-far (list (car items))) (cdr items)))))
Irgendwelche Ideen? Ich danke Ihnen vielmals.