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 :

comment utiliser "retrun" en lisp


Sujet :

Lisp

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 13
    Par défaut comment utiliser "retrun" en lisp
    salut,

    (defun unifierAtomes (E1 E2)
    (if (NOT(atom E1))(PROGN (setq temp E1) (setq E1 E2)(setq E2 temp)))
    ;;(if (equal E1 E2) 'nil)
    ;;(if (estUneVariable E1) (PROGN (if (apparait E1 E2) 'ECHEC) (return E1)))
    ;;(if (estUneVariable E2) (PROGN (return (append E1 E2)) (return 'ECHEC)))))



    dans cette fonction je dois retourner plusieurs variables achake cdt , j'ai une erreur "ABORT" et je sais pas comment corriger ma fonction

    Veuillez bien m'aider

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Par défaut
    Citation Envoyé par belaidw Voir le message
    salut,

    (defun unifierAtomes (E1 E2)
    (if (NOT(atom E1))(PROGN (setq temp E1) (setq E1 E2)(setq E2 temp)))
    ;;(if (equal E1 E2) 'nil)
    ;;(if (estUneVariable E1) (PROGN (if (apparait E1 E2) 'ECHEC) (return E1)))
    ;;(if (estUneVariable E2) (PROGN (return (append E1 E2)) (return 'ECHEC)))))

    dans cette fonction je dois retourner plusieurs variables achake cdt , j'ai une erreur "ABORT" et je sais pas comment corriger ma fonction

    Veuillez bien m'aider
    Tu essayes de faire un swap là ?? Un échange de deux valeurs.
    Pourquoi veux tu retourner qqchose ?

    L'évaluateur d'expression lisp retourne la dernière valeur évalué lorsque tu effectues une séquence. Ça n'existe pas return. C'est comme en mathématique. Tu n'as jamais vu ça en math :
    f(x) = return x + 2
    Bin c'est pareil en lisp
    Merci, d'utiliser la balise code. Sinon je ne te lirais plus

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Par défaut
    Je suppose que c'est ??

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/05/2008, 22h26

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