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 :

Table de hachage


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 26
    Par défaut Table de hachage
    Bonjour,
    Je voudrais savoir s'il est possible d'integrer dans une table de hachage un tableau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    my $a = 12;
    my $b = 14;
    my @c = (16,18,20);
     
    my %hash = ("machin" => $a, "truc" => $b, "bidule" => @c);
     
    print "a : $hash{machin}\n";
    print "b : $hash{truc}\n";
    print "c : $hash{bidule}\n";
    Dans cet exemple, seule la premiere valeur de mon tableau @c est "retournee".
    Comment puis je recuperer l'ensemble de mon tableau contenu dans ma clef "bidule' ?

    Merci de m'aider.
    Djahny

  2. #2
    Expert confirmé
    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
    Par défaut
    On ne peut mettre que des scalaires dans un hachage, ce qui veut dire qu'il faut mettre une référence de tableau pour inclure un tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    my $a = 12;
    my $b = 14;
    my @c = (16,18,20);
     
    my %hash = ("machin" => $a, "truc" => $b, "bidule" => \@c);
     
    print "a : $hash{machin}\n";
    print "b : $hash{truc}\n";
    print "c : @{$hash{bidule}}\n";
    --
    Jedaï

  3. #3
    Membre chevronné Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Par défaut
    Passe une référence sur le tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my %hash = ("machin" => $a, "truc" => $b, "bidule" => \@c);
    Tu dois aussi itérer sur les éléments du tableau pour les afficher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print map {"$_ "} @{$hash{bidule}}, "\n";
    (map éxécute le bloc sur chaque élément et retourne la liste des résultats)

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 26
    Par défaut
    Merci pour votre aide !!

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/03/2007, 10h34
  2. table de hachage
    Par mrtatou dans le forum Langage
    Réponses: 4
    Dernier message: 18/01/2006, 09h41
  3. Table de hachage
    Par Gryzzly dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 25/12/2005, 17h31
  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