Comment faire pousser une valeur sur un Perl hachage de tableaux? %TEST ; ... for { sub atest } sub atest { ... push $TEST { TEST1 }[0] = "some value " } Comment faire pousser des valeurs dans une table de hachage de tableaux sans rien connaître de l'index? Comment puis-je y parvenir? OriginalL'auteur Tree | 2010-09-23 arrayshashperl 33 Cela va ajouter de la valeur à la fin du tableau stocké dans un hachage "TEST1". push( @{ $TEST { TEST1 } }, "some value "); J'ai utilisé @{...} de déréférencement de la matrice de référence. Perl crée intérieure de référence tableau automatiquement. OriginalL'auteur Ivan Nevostruev 8 La commande fonction prend un tableau, vous devez déférence de retour dans un tableau: push @{$TEST{TEST1}}, "some value"; Aussi, votre style me fait penser que vous n'êtes pas à l'aide de la strict pragma. Une meilleure façon d'écrire ce code est: #!/usr/bin/perl use strict; use warnings; sub atest { my $test = shift; push @{$test->{TEST1}}, "some value"; } my %test; atest(\%test); use Data::Dumper; print Dumper \%test; Maintenant, vous avez une table de hachage de tableaux de tableaux. Kane Ouais, j'ai remarqué que quand je suis retourné à la chair. OriginalL'auteur Chas. Owens 1 Je pense que vous voulez: %TEST; $TEST{TEST1}[0] = "some value" push @{ $TEST{TEST1} }, "some other value" Maintenant, $TEST{TEST1} doit être équivalent à ["some value", "some other value"]. OriginalL'auteur mkb Vous devez vous connecter pour publier un commentaire.
Cela va ajouter de la valeur à la fin du tableau stocké dans un hachage "TEST1".
J'ai utilisé
@{...}
de déréférencement de la matrice de référence. Perl crée intérieure de référence tableau automatiquement.OriginalL'auteur Ivan Nevostruev
La
commande
fonction prend un tableau, vous devez déférence de retour dans un tableau:Aussi, votre style me fait penser que vous n'êtes pas à l'aide de la
strict
pragma. Une meilleure façon d'écrire ce code est:Kane Ouais, j'ai remarqué que quand je suis retourné à la chair.
OriginalL'auteur Chas. Owens
Je pense que vous voulez:
Maintenant, $TEST{TEST1} doit être équivalent à
["some value", "some other value"]
.OriginalL'auteur mkb