Comment faire pour obtenir une valeur de hachage par index numérique

Ont un hachage:

h = {:a => "val1", :b => "val2", :c => "val3"}

Je peux vous référer à la valeur de hachage:

h[:a], h[:c]

mais je tiens à reporter par index numérique:

h[0] => val1
h[2] => val3

Est-il possible?

  • Méfiez-vous de la version de Ruby différences lors de l'utilisation de values: 1.8.x n'a pas de commande, tandis que les nouveaux Rubis ont l'insertion de la commande.
  • les hachages sont sémantiquement non ordonnée; si vous avez besoin d'semblable au tableau d'indexation, vous voulez peut-être une autre structure de données, ou une classe qui prend en charge les deux mécanismes.
  • Cependant, ils ont un ordre précis dans les dernières version de Ruby. Maintenant, si cela doit être invoqué par un algorithme .. c'est une autre question tout à fait.
  • par conséquent, les "sémantiquement" 🙂 outre-commande est terriblement faible substitut pour une réelle structure ordonnée. je ne voudrais pas compter sur elle, même en PHP, où il est pratiquement considérée comme une fonction de noyau.
InformationsquelleAutor Lesha Pipiev | 2013-02-28