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

MATLAB Discussion :

[eval] Ne fonctionne pas avec 'return'


Sujet :

MATLAB

  1. #1
    Membre éprouvé
    Avatar de soft001
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2008
    Messages
    409
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 409
    Points : 1 146
    Points
    1 146
    Par défaut [eval] Ne fonctionne pas avec 'return'
    Bonjour à tout le monde

    J'ai essayé d'utiliser la fonction eval comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    display('1')
    eval('return')
    display('2')
    Mais la fonction ne fonctionne pas pour la commande return.
    Si tu trouves ma réponse utile, n'oublies pas de voter pour ce me message

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,


    Edit : Après avoir testé, ça ne fonctionne pas non plus dans une fonction, je suppose que return est évalué dans la fonction eval. Pourquoi as-tu besoin de cette instruction avec eval?

    En incluant le return dans une seule expression on obtient juste l'affichage de 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eval('display(1);return;display(2)')
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  3. #3
    Membre éprouvé
    Avatar de soft001
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2008
    Messages
    409
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 409
    Points : 1 146
    Points
    1 146
    Par défaut
    Je n'est pas bien expliqué mon problème
    On pose que j'ai un script matla qui contient ces 5 ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    clear all
    clc
    display('1')
    eval('return')
    display('2')
    Normalement dans la ligne 4 l'entrée de la fonction eval est le string return, comme si j'ai fait appel à la fonction return.
    Par contre si je remplace return par quit ça marche.
    Si tu trouves ma réponse utile, n'oublies pas de voter pour ce me message

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    J'ai édité ma précédente réponse. Le problème ne vient pas d'eval mais de la fonction return qui est appliqué dans la fonction eval et du coup return n'a pas d'incidence dans le premier code que tu as proposé.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Pourquoi ne pas simplement écrire return ?
    Où est l'intérêt ici d'utiliser EVAL? As-tu une raison particulière?

  6. #6
    Membre éprouvé
    Avatar de soft001
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2008
    Messages
    409
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 409
    Points : 1 146
    Points
    1 146
    Par défaut
    En fait le problème est plus compliqué que l'exemple que j'ai montré.
    J'ai une fonction qui fait un tas de chose et nous retourne une chaine de caractère. Dans certain cas ce string prend la valeur 'return', à ce moment là j'aurai pas besoin d'exécuter le reste du programme main. Vous pouvez me dire on peut ajouter suite à l'appel de cette fonction un test comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
    str=Mafonction(...)
    if strcmp(str,'return')
       return
    end
    ça peut aller, mais moi je veux pas modifier le programme main, juste on ajoute notre fonction et hop ça marche.
    Peut être il y a une fonction qui permet d'arrêter l'exécution du programme main lorsque on lui fait appel dans Mafonction ?
    Si tu trouves ma réponse utile, n'oublies pas de voter pour ce me message

  7. #7
    Invité
    Invité(e)
    Par défaut
    Tu ne pourras pas influer sur ta fonction principale depuis une sous-fonction, il te faudra obligatoirement créer quelque chose comme le test que tu nous montres.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Redirection en javascript qui ne fonctionne pas avec un return
    Par sandddy dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 24/08/2011, 16h38
  2. Réponses: 1
    Dernier message: 25/01/2007, 18h19
  3. evenement onclick ne fonctionne pas avec explorer??
    Par nath-0-0 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/03/2006, 12h13
  4. Réponses: 7
    Dernier message: 24/01/2006, 11h03
  5. window.resizeTo ne fonctionne pas avec firefox?
    Par FrankOVD dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/06/2005, 15h07

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