Comment simplifier mon code
Bonjour à tous,
Je dois faire une fonction qui modifie une liste pour ne garder que les éléments qui commencent par une lettre donnée.
Par exemple :
(setq atomes '(pierre feuille ciseaux perdu jeu))
et ne retenir que ceux commençant par P ...
Voici ce que j'ai fait :
Code:
1 2 3 4 5 6 7 8
|
(defun commence-par (lettre liste)
(cond
((atom liste) nil)
((and (car liste) (equal (char (string (car liste)) 0) (char (string lettre) 0)))
(rplacd liste (commence-par lettre (cdr liste))) )
((not (equal (char (string (car liste)) 0) (char (string lettre) 0)))
(commence-par lettre (cdr liste))) ) ) |
Merci pour votre aide et vos explications.