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 :

utilisation du if un peu bizarre


Sujet :

Langage Perl

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2007
    Messages : 273
    Points : 83
    Points
    83
    Par défaut utilisation du if un peu bizarre
    Bonjour tout le monde.

    J'ai une nouvelles question pour vous.
    j'ai le code suivant, masi je comrpend aps trop comment il fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Quit($status,$msg) if ($status ne 0);
    donc la partie ($status ne 0) j'ai bien compris que ca va retourner vrai si $ status est égal à 1 ou autre. par contre ce que je ne comrpend pas c'est l'ordre de la condition if. Est ce que ca revient au même que d'écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if($status ne 0){
    Quit$status, $msg);
    }
    je pense que c'est ca mais j'ai un doute
    EDIT : j'ai une autre question toujrous sur le même code. Il s'agit de al fonction newval()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $var1="truc";
    $var1= newval("machin", "bidul", "chouette");
    Exemple un peu nul certe mais qui est parlant. Donc si je mne me trompe aps, la fonction newval permet de modifier la valeur de la varaible maus de faàn plus sûre. c'est bien ca?

    Merci d'avance pour vos réponses

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    En effet, c'est une autre façon d'écrire les conditions if, même si dans ce cas, ce n'est pas très beau, mais bon.
    Donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ( $status ne 0 ) {
     Quit( $status, $msg );
    }
    équivaut à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Quit( $status, $msg ) if ( $status ne 0 );
    Pour ta deuxième question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $var1 ="truc";
    $var1 = newval( "machin", "bidul", "chouette" );
    La fonction newval prend 3 arguments et retourne une valeur qui est mise dans la variable $var1 (qui sera donc modifiée).

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2007
    Messages : 273
    Points : 83
    Points
    83
    Par défaut
    pour Newval.. est ce que ca vas transformer $var1 en tableau ou un truc comme ca? ou bien ca va simplement modifier la variable? je dois dire qu'elle est obscure cette fonction

  4. #4
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Citation Envoyé par djibril Voir le message
    En effet, c'est une autre façon d'écrire les conditions if, même si dans ce cas, ce n'est pas très beau, mais bon.
    Donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ( $status ne 0 ) {
     Quit( $status, $msg );
    }
    équivaut à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Quit( $status, $msg ) if ( $status ne 0 );
    Permet moi d'être d'un avis différent (partie en gras)

    Je trouve au contraire cette forme d'utilisation est particulièrement adaptée (et de mémoire, c'est aussi celle préconisée dans PBP pour ce cas de figure).

    En fait, tout dépend ce qui est important dans l'instruction : le test ou l'action. Si c'est l'action, avec une condition disons "triviale", alors on place l'action en premier et le if sous forme de "statement modifier", comme ici.
    Si au contraire, c'est le test qu'il faut mettre en valeur (une alternative de deux cas de figure par exemple), alors on préfèrera le if classique avec ses blocs de code.

    @danathane : pour répondre à ta question sur newval, il faudrait savoir ce que fait cette fonction, mais dans tous les cas, on sait que $var1 va être affecté avec le retour de cette fonction, comme l'a bien dit djibril.
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Août 2008
    Messages : 505
    Points : 712
    Points
    712
    Par défaut
    Citation Envoyé par Philou67430 Voir le message
    Permet moi d'être d'un avis différent (partie en gras)
    Peut-être que Djibril veut dire que c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Quit( $status, $msg ) if ( $status ne 0 );
    qui est plus joli (et plus lisible !). En tout cas, c'est ce que je pense.
    Et j'avoue avoir du mal à comprendre qu'on aime Perl si on pense que seule la première forme devraient être autorisée.

  6. #6
    Membre du Club
    Femme Profil pro
    Bio-informaticienne
    Inscrit en
    Septembre 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Bio-informaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2009
    Messages : 97
    Points : 54
    Points
    54
    Par défaut
    Hmmm perso moi j'adore les notation du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Quit( $status, $msg ) if ( $status ne 0 );
    Je trouve ca generalement tres lisible et comprehensible.
    Merci Philou pour l'explication des diferrentes utilisations c'est interessant a savoir.

    Loula

Discussions similaires

  1. Une question un peu bizarre
    Par krapoulos2006 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 18/12/2006, 23h16
  2. un warning un peu bizarre
    Par salseropom dans le forum C
    Réponses: 2
    Dernier message: 26/10/2006, 10h09
  3. premier pas... un peu bizarre
    Par gaia-harastra dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 10/01/2006, 09h00
  4. [CSS] float un peu bizarre sous FF.
    Par elraton dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 10/10/2005, 18h59
  5. Requete sql un pti peu bizarre
    Par lamoufle dans le forum Langage SQL
    Réponses: 3
    Dernier message: 26/08/2005, 08h39

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