J'ai ceci:Perl: Obtenir la valeur parallèle dans le tableau de hachage
my(%arr) = (
monsters => ["Test","Test2"],
kills => [-1, -2 ]);
Puis, plus tard je recherche Test2:
if (grep { $_ eq "Test2"} @{ $arr{monsters} })
{
#Get parallel value of Test2 (-2)
next;
}
Comment puis-je obtenir la valeur parallèle sans connaître l'indice (un réel variable est utilisée lors de la recherche et pas une chaîne littérale)? Cependant,
for my $idx(0 .. $#{ $arr{monsters} }) {
if ($arr{monsters}[$idx] eq 'Test2') {
print "Kills = $arr{kills}[$idx]\n";
last;
}
}
Une meilleure façon de gérer cela,:
Comment est-ce que je passerais en revue cela pour l'imprimer? Peu importe, pense que je l'ai eu: while (($ k, $ v) = chaque% arr) { imprime "$ k =>", $ arr {"$ k"} {"tue"}, "\ n" ; } – Zeno
Bien sûr ou quelque chose comme: foreach (trier les touches% arr) {print "$ _ = $ arr {$ _} {'tue'} \ n"; } – dmah
Qu'en est-il du tri par kill? – Zeno