Ich brauche eine rekursive LISP-Funktion, die die Anzahl der Elemente in einer beliebigen Liste von Zahlen> 3 auflistet. Ich darf lets, loops oder whites nicht verwenden und kann nur CAR verwenden , CDR, SETQ, COND, CONS, APPEND, PROGN, LIST ...Grundlegende LISP-Rekursion, Werte größer als 3 aufzählen
Dies ist mein Versuch, die Funktion:
(defun foo (lst)
(COND ((null lst) lst)
(T (IF (> (CAR lst) 3)
(1+ (foo (CDR lst)))
(foo (CDR lst))))))
der Funktionsaufruf:
(foo '(0 1 2 3 4 5 6))
Ich wusste nicht, Ltg konnte so. Alle Online-Ressourcen sind über das Internet verstreut und nicht leicht zu verstehen ... – toast
Die beste Online-Ressource für geläufige Lisp ist (wahrscheinlich) "The HyperSpec" (http://www.lispworks.com/documentation/HyperSpec/Front /) und ist in der Nähe der umfassendsten Beschreibung von CL. – Vatine