IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lisp Discussion :

Erreur bizarre sous Common Lisp - Merci de votre aide


Sujet :

Lisp

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Mars 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 2
    Par défaut Erreur bizarre sous Common Lisp - Merci de votre aide
    Bonjour à tous,

    J'ai fait la ridicule petite fonction suivante :

    (defun traite_types1 (l)
    (let ((l1 NIL) (l2 NIL))
    (setq l1 (string (car l)))
    (setq l2 (cdr l))
    (dolist (x l2)
    (setq l1 (concatenate ‘string l1 (concatenate ‘string ";" (string x))))
    )
    (write l1)
    (setq l1 (concatenate ‘string "(" (concatenate ‘string l1 ")")))
    (write l1)

    )
    )

    A partir d'une liste du style (A B C), elle doit générer la chaîne de caractères :
    "(A;B;C)".

    Après l'appel (traite_types1 '(A B C)), j'ai droit à la sortie suivante :
    ----------------------------------------------------------
    CL-USER 30 : 4 > (traite_types1 ‘(a b c))
    "A;B;C"
    Error: The variable is unbound. (un blanc à la place du nom de la variable)
    1 (continue) Try evaluating again.
    2 Specify a value to use this time instead of evaluating .
    3 Specify a value to set to.
    4 (abort) Return to debug level 4.
    5 Return to debug level 3.
    6 Return to debug level 2.
    7 Return to debug level 1.
    8 Return to top loop level 0.

    Type :b for backtrace or :c <option number> to proceed.
    Type :bug-form "<subject>" for a bug report template or for other options.
    ------------------------------------------------------------
    Tout se passe donc bien à l'intérieur de la boucle qui génère "A;B;C"
    mais cela se gâte lorsque je veux ajouter les parenthèses autour de cette chaîne de caractères.
    Il doit s'agir d'une erreur grossière de ma part, mais j'avoue que je ne vois pas...

    Merci d'avance pour votre aide.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2013
    Messages : 153
    Par défaut
    C’est bizarre, pour moi, ça marche. Je l´ai tout simplement collée dans Emacs en remplaçant ‘ pour '. Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    (defun traite-types1 (l)
      (let ((l1 NIL)
    	(l2 NIL))
        (setq l1 (string (car l)))
        (setq l2 (cdr l))
        (dolist (x l2)
          (setq l1 (concatenate 'string l1 (concatenate 'string ";" (string x)))))
        (write l1)
        (setq l1 (concatenate 'string "(" (concatenate 'string l1 ")")))
        (write l1)))

  3. #3
    Nouveau candidat au Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Mars 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 2
    Par défaut Ah !
    Oui, il me semblait bien que c'était juste... Cependant, par acquis de conscience, j'ai téléchargé un autre compilateur Common Lisp et j'ai eu encore cette erreur. Je dois être tombée sur un bug de Common Lisp.
    En tout cas, merci beaucoup.
    Entre temps, j'ai bien simplifié le code grâce à la magnifique fonction FORMAT qui concatène à peu tout et à peu près de toutes les façons imaginables pour générer une chaîne de caractères.

Discussions similaires

  1. Réponses: 0
    Dernier message: 02/07/2014, 10h09
  2. OpenMusic, Midi sous Common Lisp
    Par Tibtib dans le forum Lisp
    Réponses: 0
    Dernier message: 02/01/2011, 18h25
  3. Pb pour insérer une msgbox d'erreur dans un userform merci de votre aide
    Par Vincent23 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/08/2008, 16h45
  4. Réponses: 4
    Dernier message: 23/05/2006, 12h12
  5. [VBA-E]Probleme dans mon code ??? merci de votre aide
    Par gregantibes dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/04/2006, 18h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo