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

Langage Perl Discussion :

Comment sortir d'une fonction?


Sujet :

Langage Perl

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 33
    Points : 18
    Points
    18
    Par défaut Comment sortir d'une fonction?
    Je suis débutant en perl et après avoir fais de nombreuses recherches je n'arrive pas a trouver la réponse a mon problème.
    J'ai créé une fonction et je souhaite, dans le cas ou certaines conditions sont réunis entrer dans un if () qui me permet de quitter la fonction (sans quitter le programme).
    Pourriez vous me venir en aide. Merci d'avance.

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 582
    Points : 2 030
    Points
    2 030
    Par défaut
    Hello,

    tu peux utiliser return, il te fera quitter la fonction pour retourner au bloc de code qui a appelé la fonction. J'ai bien parlé du groupe de code, pas de ton code principal.

    Ainsi, si ta fonction TITI est appelée depuis une fonction appelée TATA, l'appel au return fait revenir ton programme dans la fonction TATA qui poursuit son petit bonhomme de chemin.

    Généralement, c'est mon avis perso, je préfère que mon return retourne 1 si réussit, 0 en cas d'erreur lors du traitement dans la fonction.

    Et bien entendu, return te permet aussi de renvoyer hors de la fonction variables, listes, hachages.

    Bref, return c'est magique

    A moins que l'un de nos experts es Perl nous avoue crapuleusement qu'il existe un module qui fait des retours hors fonctions de la mort qui tue que même la mort, elle en a peur


  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 33
    Points : 18
    Points
    18
    Par défaut
    merci beaucoup pour la vitesse de ta reponse

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 582
    Points : 2 030
    Points
    2 030
    Par défaut
    Voici plusieurs exemples d'appel à return dans des fonctions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    # fonction Is_Directory
    # retourne vrai si la chaine de caractères fournie est un dossier, faux sinon
    sub Is_Directory
    {
        my $rep = shift;
        return 1 if (-d $rep);
        return 0;
    }
     
    # appel à la fonction
    if (Is_Directory("c:/toto") )
    {
        print "c:/toto est bien un répertoire\n";
    }
    else
    {
        print "c:/toto n'est pas un répertoire\n";
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # fonction Incremente
    # ajoute 1 à la valeur numérique fournie et la retourne
    sub Incremente
    {
        my $val = shift;
        return $val +1;
    }
     
    # appel à la fonction
    $toto = 10;
    print "Avant incrémentation, toto = $toto\n";
    $toto = Incremente($toto);
    print "Après incrémentation, toto = $toto\n";

Discussions similaires

  1. Comment sortir d'une fonction sans nom ?
    Par kriekbellevue dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/11/2007, 15h00
  2. Comment sortir d'une fonction ?
    Par serialkilled dans le forum Langage
    Réponses: 3
    Dernier message: 16/12/2006, 12h30
  3. Comment sortir d'une dll ?
    Par Fred007 dans le forum Langage
    Réponses: 3
    Dernier message: 19/02/2004, 08h21
  4. comment tester si une fonction fait bien son travail
    Par access dans le forum Requêtes
    Réponses: 1
    Dernier message: 24/11/2003, 15h46
  5. Comment savoir qu'une fonction est standard ?
    Par D[r]eadLock dans le forum C
    Réponses: 5
    Dernier message: 24/03/2003, 14h42

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