Que j'affiche avec ce code trouvé sur perldsc.
for my $href ( @aoh_Attribute ) {
print "{ ";
for my $role ( keys %$href ) {
print "$role=$href->{$role}\t";
}
print "}\n";
}
print "\n\n";
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Marc SCHAEFER
kurtz le pirate wrote:
C'est peut être normal, mais pourquoi l'ordre des clés n'est pas le même que celui dans la déclaration du AoH ?
Perl propose des tableaux de hâchage et non pas des tableaux associatifs ordonnés. L'ordre des clés est donc dépendant de l'implémentation et des clés qui ont été insérées. Comme p.ex. dans un fichier DBM indexé (cf tie). Si un ordre est indispensable, alors énumérer par ordre d'un tableau de clés, ou ajouter un attribut de numéro (order) et trier avec la version à argument du sort: foreach my $t (sort { $a <=> $b } keys %hash) { } en remplaçant $a <=> $b par exemple par $hash{$a}->{'order'} <=> $hash{$b}->{'order'}
kurtz le pirate <kurtzlepirate@free.fr> wrote:
C'est peut être normal, mais pourquoi l'ordre des clés n'est pas le même
que celui dans la déclaration du AoH ?
Perl propose des tableaux de hâchage et non pas des tableaux associatifs
ordonnés.
L'ordre des clés est donc dépendant de l'implémentation et des
clés qui ont été insérées. Comme p.ex. dans un fichier DBM indexé
(cf tie).
Si un ordre est indispensable, alors énumérer par ordre d'un tableau
de clés, ou ajouter un attribut de numéro (order) et trier avec la version
à argument du sort:
foreach my $t (sort { $a <=> $b } keys %hash) {
}
en remplaçant $a <=> $b par exemple par
$hash{$a}->{'order'} <=> $hash{$b}->{'order'}
C'est peut être normal, mais pourquoi l'ordre des clés n'est pas le même que celui dans la déclaration du AoH ?
Perl propose des tableaux de hâchage et non pas des tableaux associatifs ordonnés. L'ordre des clés est donc dépendant de l'implémentation et des clés qui ont été insérées. Comme p.ex. dans un fichier DBM indexé (cf tie). Si un ordre est indispensable, alors énumérer par ordre d'un tableau de clés, ou ajouter un attribut de numéro (order) et trier avec la version à argument du sort: foreach my $t (sort { $a <=> $b } keys %hash) { } en remplaçant $a <=> $b par exemple par $hash{$a}->{'order'} <=> $hash{$b}->{'order'}
kurtz le pirate
Le 06/11/2017 à 14:00, Marc SCHAEFER a écrit :
Perl propose des tableaux de hâchage et non pas des tableaux associatifs ordonnés. L'ordre des clés est donc dépendant de l'implémentation et des clés qui ont été insérées. Comme p.ex. dans un fichier DBM indexé (cf tie).
Donc c'est /normal/ Merci. -- kurtz le pirate compagnie de la banquise
Le 06/11/2017 à 14:00, Marc SCHAEFER a écrit :
Perl propose des tableaux de hâchage et non pas des tableaux associatifs
ordonnés.
L'ordre des clés est donc dépendant de l'implémentation et des
clés qui ont été insérées. Comme p.ex. dans un fichier DBM indexé
(cf tie).
Perl propose des tableaux de hâchage et non pas des tableaux associatifs ordonnés. L'ordre des clés est donc dépendant de l'implémentation et des clés qui ont été insérées. Comme p.ex. dans un fichier DBM indexé (cf tie).
Donc c'est /normal/ Merci. -- kurtz le pirate compagnie de la banquise
Paul Gaborit
À (at) Mon, 6 Nov 2017 12:30:43 +0100, kurtz le pirate écrivait (wrote):
J'ai mon AoH :
[...]>
Que j'affiche avec ce code trouvé sur perldsc. for my $href ( @aoh_Attribute ) { print "{ "; for my $role ( keys %$href ) { print "$role=$href->{$role}t"; } print "}n"; } print "nn";
[...]>
C'est peut être normal, mais pourquoi l'ordre des clés n'est pas le même que celui dans la déclaration du AoH ?
C'est normal... et, en plus, avec les versions récentes de Perl, l'ordre change à chaque exécution ! ;-) -- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/> Perl en français - <http://perl.mines-albi.fr/>
À (at) Mon, 6 Nov 2017 12:30:43 +0100,
kurtz le pirate <kurtzlepirate@free.fr> écrivait (wrote):
J'ai mon AoH :
[...]>
Que j'affiche avec ce code trouvé sur perldsc.
for my $href ( @aoh_Attribute ) {
print "{ ";
for my $role ( keys %$href ) {
print "$role=$href->{$role}t";
}
print "}n";
}
print "nn";
[...]>
C'est peut être normal, mais pourquoi l'ordre des clés n'est pas le même
que celui dans la déclaration du AoH ?
C'est normal... et, en plus, avec les versions récentes de Perl, l'ordre
change à chaque exécution ! ;-)
--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Perl en français - <http://perl.mines-albi.fr/>
À (at) Mon, 6 Nov 2017 12:30:43 +0100, kurtz le pirate écrivait (wrote):
J'ai mon AoH :
[...]>
Que j'affiche avec ce code trouvé sur perldsc. for my $href ( @aoh_Attribute ) { print "{ "; for my $role ( keys %$href ) { print "$role=$href->{$role}t"; } print "}n"; } print "nn";
[...]>
C'est peut être normal, mais pourquoi l'ordre des clés n'est pas le même que celui dans la déclaration du AoH ?
C'est normal... et, en plus, avec les versions récentes de Perl, l'ordre change à chaque exécution ! ;-) -- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/> Perl en français - <http://perl.mines-albi.fr/>