Salut tout J'essaye d'écrire une fonction de lisp en utilisant clisp v2.47 qui prend un mot et retourne vrai si c'est un palindrome sinon il retournera faux. En passant, ce qui vaut la peine d'être mentionné, c'est que je suis nouveau à lisp, donc je n'ai pas d'expérience dans l'écriture de code lisp.difficultés avec petit programme lisp pour palindrome
Voici mon code:
(defun palindrome(L)
(cond
((equal L '()) T )
((equal (car (L)) (last (L)))
(palindrome (cdr (reverse (cdr (L))))))
(t nil)))
Quand je le coller dans clisp il est bien, mais quand je viens pour l'exécuter que je reçois cette erreur que je ne sais pas comment résoudre:
[2]> (setq M '(bob))
(BOB)
[3]> (palindrome M)
*** - EVAL: undefined function L
The following restarts are available:
USE-VALUE :R1 Input a value to be used instead of (FDEFINITION 'L).
RETRY :R2 Retry
STORE-VALUE :R3 Input a new value for (FDEFINITION 'L).
ABORT :R4 Abort main loop
Break 1 [4]>
Toute aide serait très appréciée car je suis vraiment pressé de finir ce programme.
Merci à tous
Vous voudrez peut-être regarder le docu mentation pour [LAST] (http://clhs.lisp.se/Body/f_last.htm) (en particulier les exemples). Je ne pense pas que cela fasse ce que vous pensez. –