Modifier un argument dans une fonction
Bonjour a tous,
je suis actuellement en apprentissage du LISP, et j'ai un petit soucis....
je voudrai savoir comment faire pour que la 3eme ligne de mon code ci dessous modifie le paramètre a de la fonction.
Le probleme est que actuellement cela fonctionne a l'intérieur de la méthode, mais des que l'ont en sort, la variable 'a' reprend sa valeur initial (du a la porté de la modification.... )
Donc comment faire pour dépassé ce probleme ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
(defun addNode(a val)
(if (arbre_vide? a)
(arbre val NIL NIL) ; Si l'arbre est vide, on créer un arbre racine qui a pour valeur val
(if (< val (arbre_racine a))
(if (null (arbre_sag a))
(rplacd a (list (list val nil nil) (arbre_sad a)))
(addNode (arbre_sag a) val)
)
(if (null (arbre_sad a))
(rplacd a (list (arbre_sag a) (list val nil nil)))
(addNode (arbre_sad a) val)
)
)
)
)
(defun arbre(label sag sad)
(list label sag sad)
) |
Je vous remercie d'avance pour votre aide.