2010-01-12 88 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