2010-01-12 7 views
3

J'ai un hachage qui, j'ai des clés qui identifient de manière unique chaque élément dans le hachage. Et dans chaque élément, j'ai un tableau. Donc ma question est, comment puis-je mettre un autre élément à l'intérieur de ce tableau dans le hachage.Pousser un nouvel élément dans le tableau dans le hachage

{"Apple"=>[1, 5.99], "Banana"=>[5, 9.99]} 

Je boucle à travers un jeu de résultats, et je suis un peu perdu comment ajouter un autre élément au tableau ...

Toute aide est très appréciée

Vive

Répondre

6

Si votre hachage est appelé, par exemple, hsh, le tableau "Apple" est accessible par hsh["Apple"]. Vous pouvez l'utiliser comme n'importe quelle variable, donc pour ajouter une valeur à ce tableau, faites juste hsh["Apple"] << some_value. Comme si:

irb> hsh = { "Apple" => [1, 5.99], "Banana" => [5, 9.99] } 
irb> hsh["Apple"] << 9999 
=> { "Apple" => [1, 5.99, 9999], "Banana" => [5, 9.99] } 
+0

Est-il possible que je puisse commander le hachage de sorte que laisse dire le tableau de prix le plus élevé est le premier ... tout en gardant les acclamations d'intégrité pour l'aide btw – user211662

+1

Non, Ruby hash ne sont pas ordonnés, vous ne pouvez donc pas les "trier" en tant que tels (bien que cela puisse changer dans Ruby 1.9). Vous auriez besoin d'utiliser une bibliothèque qui étend Hash, comme la classe Dictionary de Ruby Facets: http://github.com/trans/facets/blob/master/lib/more/facets/dictionary.rb –

+0

merci, je vais vérifier it out :) – user211662

Questions connexes