102 votes

Quel est le moyen le plus sûr d'itérer parmi les clés d'un hachage Perl ?

Si j'ai un hachage Perl avec un tas de paires (clé, valeur), quelle est la méthode préférée pour itérer à travers toutes les clés ? J'ai entendu dire que l'utilisation de each peuvent d'une certaine manière avoir des effets secondaires involontaires. Alors, est-ce vrai, et l'une des deux méthodes suivantes est-elle la meilleure, ou existe-t-il un meilleur moyen ?

# Method 1
while (my ($key, $value) = each(%hash)) {
    # Something
}

# Method 2
foreach my $key (keys(%hash)) {
    # Something
}

-1voto

Hogsmill Points 522

Je dirais :

  1. Utilisez ce qui est le plus facile à lire/comprendre pour la plupart des gens (donc les clés, généralement, je dirais).
  2. Utilisez ce que vous avez décidé de manière cohérente dans l'ensemble de la base de code.

Cela présente deux avantages majeurs :

  1. Il est plus facile de repérer le code "commun" afin de le refactoriser en fonctions/méthodes.
  2. Il est plus facile à maintenir pour les futurs développeurs.

Je ne pense pas qu'il soit plus coûteux d'utiliser les clés plutôt que chaque, donc pas besoin de deux constructions différentes pour la même chose dans votre code.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X