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 :

[HASH de HASH de ARRAY]


Sujet :

Langage Perl

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 71
    Points : 48
    Points
    48
    Par défaut [HASH de HASH de ARRAY]
    voici ma hash of hash of array:

    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
    %traces = (
            rep1 => {
                    f1      => ["t1","t2","t3"],
                    f2       => ["t1","t2"],
            },
            rep2     => {
                    f1      => ["t1","t2","t3","t4"],
                    f2      => ["t1","t2"],
                    f3 => "trace2",
            },
            rep3    => {
                    f1      => ["t1","t2"],
                    f2      => ["t1","t2"],
                    f3      => ["t1","t2"],
            },
     );
    J'essai de la manipuler

    j'essai d'afficher chaque champs des tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    foreach $repertoire ( keys %traces ) 
    {
    	print "$repertoire: { ";
    	for $fichier ( keys %{ $traces{$repertoire} } ) 
    	{    
    		print "$fichier=  ";
    	    	foreach $i ( 0 .. $#{ $traces{$repertoire{$fichier}} } ) 
    	    	{
    	       		# print "$fichier=$traces{$repertoire}{$repertoire{$fichier}[$i]}";
    	       	}
    	    	print "\n";
    	}
    	print "}\n";
     }
    les champs affichés sont vide

    affichage:

    rep1{: f1=
    f2=
    }
    rep2:: {f1=
    f2=
    }

    rep2: : {f1=
    f2=
    f3=
    }

    pas facile a manipuler ...Est ce que quelqu'un voix l'erreur?

  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
    Tu fais un peu n'importe quoi avec les indexs....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
              foreach $i ( 0 .. $#{ $traces{$repertoire}{$fichier} } )
              {
                    print "$fichier=$traces{$repertoire}{$fichier}[$i]";
              }
    Qu'est ce qui t'a pris de fourrer cette accolade à la fin alors que tu avais bien commencé ?

    --
    Jedaï

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 71
    Points : 48
    Points
    48
    Par défaut
    foreach $i ( 0 .. $#{ $traces{$repertoire}{$fichier} } )
    {
    print "$fichier=$traces{$repertoire}{$fichier}[$i]";
    }

    Tu parles des crochets ? Si oui je les utilise parce que à la fin de ma chaine de structure j'ai un tableau.
    Donc [$i]est sencé etre un indice de tableau

  4. #4
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Ce que Jedaï te dit, c'est que tu as écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print "$fichier=$traces{$repertoire}{$repertoire{$fichier}[$i]}";
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print "$fichier=$traces{$repertoire}{$fichier}[$i]";
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 71
    Points : 48
    Points
    48
    Par défaut
    pb de copier collé, revoici donc mon code avec le meme affichage d'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    foreach $repertoire ( keys %traces ) 
    {
    	print "$repertoire: { ";
    	for $fichier ( keys %{ $traces{$repertoire} } ) 
    	{    
    		print "$fichier=  ";
    	    	foreach $i ( 0 .. $#{ $traces{$repertoire{$fichier}} } ) 
    	    	{
    	       		print "$fichier=$traces{$repertoire}{$fichier}[$i]";
    	       	}
    	    	print "\n";
    	}
    	print "}\n";
     }
    affichage:

    rep1:{
    f1=
    f2=
    }
    rep2:{
    f1=
    f2=
    f3=
    }
    rep3:{
    f1=
    f2=
    f3=
    }

  6. #6
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Corrige ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
    	    	foreach $i ( 0 .. $#{ $traces{$repertoire}{$fichier} } ) 
    ...
    Le copier/coller vaut aussi pour la boucle, pas que le print
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 71
    Points : 48
    Points
    48
    Par défaut
    MERCI A VOUS DEUX

    Je RECAPITULE L'EXEMPLE CORRIGE CA PEUX SERVIR

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    foreach $repertoire ( keys %traces ) 
    {
    	print "$repertoire: { ";
    	for $fichier ( keys %{ $traces{$repertoire} } ) 
    	{    print $fichier."=( ";
    	    	foreach $i ( 0 .. $#{ $traces{$repertoire}{$fichier}}  ) 
    	    	{
    	       		print "$traces{$repertoire}{$fichier}[$i], ";
    	       	}
    	    print "}\n";   		
    	}
    	print "}\n";
     }

  8. #8
    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
    Tu aurais pu faire un copier-coller de mon code avant d'expliquer qu'il ne marchait pas...

    --
    Jedaï

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

Discussions similaires

  1. Copie de hash de ref de array sans les ref
    Par Zwiter dans le forum Langage
    Réponses: 4
    Dernier message: 23/06/2009, 14h18
  2. Parcours d'un hash de hash de hash
    Par ngere dans le forum Langage
    Réponses: 5
    Dernier message: 06/07/2005, 09h53
  3. Réponses: 2
    Dernier message: 09/03/2005, 14h35
  4. [langage] hash de hash
    Par Kinethe dans le forum Langage
    Réponses: 17
    Dernier message: 27/08/2004, 13h22
  5. [langage] probleme avec un hash de hash
    Par planetevoyage dans le forum Langage
    Réponses: 4
    Dernier message: 06/06/2003, 12h55

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