2010-01-12 93 views
3

我有一個哈希,我有密鑰,唯一標識哈希內的每個元素。在每個元素中,我有一個數組。所以我的問題是,我該如何將另一個元素放入哈希中的數組中。將新元素推入哈希陣列

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

我通過循環的結果集,我有點失去了如何將其他元素添加到陣列...

任何幫助表示最欣賞

乾杯

回答

6

如果你的散列被調用,例如hsh,那麼可以通過hsh["Apple"]訪問「Apple」數組。你可以像使用任何變量一樣使用它,所以爲該數組添加一個值只需執行hsh["Apple"] << some_value。像這樣:

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

有沒有辦法,我可以爲了哈希,這樣可以說,價格最高的是數組第一個辦法......同時保持完整性乾杯的幫助BTW – user211662 2010-01-12 03:16:35

+1

不,Ruby的哈希值是無序的,所以你不能對它們進行「排序」(儘管這可能會在Ruby 1.9中改變)。你需要使用一個擴展Hash的庫,如Ruby Facets的Dictionary類:http://github.com/trans/facets/blob/master/lib/more/facets/dictionary.rb – 2010-01-12 03:25:25

+0

謝謝,我會檢查它出:) :) – user211662 2010-01-12 03:29:57