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 :

[PERL] - Table de hachage


Sujet :

Langage Perl

  1. #1
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 177
    Points : 65
    Points
    65
    Par défaut [PERL] - Table de hachage
    Bonjour,

    Je suis novice avec PERL.
    Voilà ce que je désire faire :

    J'ai une table de hachage qui contient comme clef un état et comme valeurs une liste de champs obligatoires saisie à la main :
    %etat_champs = ({"Closed"}=> ["Headline","Description"],
    {"In_Progress"}=> ["Headline","Description","Priority"])

    Je récupère dans une entité l'état de la fiche, et je voudrais ainsi récupérer la liste des champs obligatoires.
    J'ai donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $state_tic=$entity_ticket->GetFieldValue("State")->GetValue;
    et ce que j'essaie de faire est un parcours de ma table de hachage pour retrouver l'état correspondant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    foreach my $etat (keys %etat_champs)
    {
        if ($etat == $state_tic)
       {
          my @champs_ob=values(%etat_champs);
        }
    }
    Donc je ne sais pas si $etat == $state_tic fonctionne ?
    Et je ne pense pas que my @champs_ob=values(%etat_champs); me permette de récupérer la liste des champs obligatoires pour l'état considéré.

    Merci

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par Lolie11 Voir le message
    Bonjour,

    Je suis novice avec PERL.
    Voilà ce que je désire faire :

    J'ai une table de hachage qui contient comme clef un état et comme valeurs une liste de champs obligatoires saisie à la main :
    %etat_champs = ({"Closed"}=> ["Headline","Description"],
    {"In_Progress"}=> ["Headline","Description","Priority"])
    C'est pas une syntaxe très correcte ça... Un hash ça se déclare comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    my %state_fields = (
       Closed => ["Headline","Description"],
       In_Progress => ["Headline","Description","Priority"]);
    Ensuite pour avoir la liste des champs obligatoires, il te suffit de consulter le hash (faire une boucle pour trouver la bonne clé ? Tu crois que ça sert à quoi d'utiliser un hash plutôt qu'un tableau ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my @ob_fields = @{$state_fields{$state_tic}};
    (Par ailleurs en Perl "==" teste l'égalité numérique, pour l'égalité entre string il faut utiliser "eq")
    --
    Jedaï

  3. #3
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 177
    Points : 65
    Points
    65
    Par défaut
    Je te remercie pour ta réponse.
    J'ai du coup un problème dans ma table de hachage avec une clef "Re-Assigned", il bugge avec le "-" comme puis-je le faire passer ?

  4. #4
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Citation Envoyé par Lolie11 Voir le message
    Je te remercie pour ta réponse.
    J'ai du coup un problème dans ma table de hachage avec une clef "Re-Assigned", il bugge avec le "-" comme puis-je le faire passer ?
    Encadre ta clé de simples ou doubles quotes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    my %state_fields = (
       'Closed' => ["Headline","Description"],
       'Re-Assigned' => ["Headline","Description","Priority"]);
    -- Jasmine --

Discussions similaires

  1. mettre un fichier xml dans un table de hachage perl
    Par tunwim dans le forum Langage
    Réponses: 26
    Dernier message: 27/03/2013, 21h21
  2. Réponses: 9
    Dernier message: 15/03/2013, 16h18
  3. table de hachage perl
    Par siham_06 dans le forum Langage
    Réponses: 3
    Dernier message: 09/02/2007, 15h52
  4. [Conception] Table de hachage et doublons de clés
    Par mammou dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 13/05/2004, 19h16
  5. Réponses: 2
    Dernier message: 05/02/2004, 12h54

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