J'ai besoin d'une fonction LISP récursive qui énumère le nombre d'éléments dans une liste de nombres> 3. Je ne suis pas autorisé à utiliser lets, boucles ou Whiles et ne peut utiliser que CAR de base , CDR, SETQ, COND, CONS, AJOUT PROGN, LISTE ...récursion LISP de base, énumérer les valeurs supérieures à 3
C'est ma tentative de la fonction:
(defun foo (lst)
(COND ((null lst) lst)
(T (IF (> (CAR lst) 3)
(1+ (foo (CDR lst)))
(foo (CDR lst))))))
l'appel de fonction:
(foo '(0 1 2 3 4 5 6))
Je ne savais pas pu travailler cond cette façon. Toutes les ressources en ligne sont dispersées sur Internet et difficiles à comprendre ... – toast
La meilleure ressource en ligne pour le lisp commun est (probablement) "The HyperSpec" (http://www.lispworks.com/documentation/HyperSpec/Front /) et est proche de la description la plus complète de CL. – Vatine