bonjour à tous
voila je dois créer une chaine de caractère avec les élément suivant
(tri 0 25) qui m'affichera les caractères de 0 à 25
le probleme j'ai un return from : aucun boc de nom nil n'est visible
je pense comprendre mon erreur mais je n'arrive pas à l'exprimer

voila ce que j'ai essayé sous lisp

Code :
1
2
3
4
5
6
(defun tri (x y &optional z)
  (setq z "")
  (cond
  ((equal x y) (return z))
  ((string-concat z (string (code-char x)))(tri(1+ x) y))))


le problème je n'arrive pas à placer mon test de fin correctement ou je suis à coté de la plaque donc j'essaye des trucs sans queue ni tete


Code :
1
2
3
4
5
6
(defun tri (x y &optional z)
  (setq z "")
  (cond
  ((atom z) "") # c'est ce fameux test de fin
  ((equal x y) (return z))
  ((string-concat z (string (code-char x)))(tri(1+ x) y))))

ou

Code :
1
2
3
4
5
6
(defun tri (x y &optional z)
  (setq z "")
  (cond
  ((atom y) nil) # pas mieux trouvé je m'arrache les cheveux
  ((equal x y) (return z))
  ((string-concat z (string (code-char x)))(alphabet (1+ x) y))))