Bonjour tout le monde!
Je dois écrire une fonction récursive qui récupère un élément donnée dans une liste.
Du coup j'ai écrit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 (garde 'a '(a a a & a & a $ a a)) (a a a a a a a)
En testant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 (defun garde (x liste) (cond ((not liste) nil) ((equal (car liste) x) (cons x (garde (cdr liste)))) (t (garde (cdr liste))) ) )
En testant j'obtiens cela comme réponse. Je ne comprends pas pour quoi on me dit trop peu d'arguments, qu'il en faut 2 alors que j'en déclares bien 2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 [2]> (garde 'a '(a a a & a & a $ a a)) *** - EVAL/APPLY: Too few arguments (1 instead of at least 2) given to garde Rentrées possibles: ABORT :R1 Abort main loop Break 1 [3]>
Merci pour vos réponses!
Partager