将数据从哈希存储到数组

时间:2013-11-26 19:23:34

标签: ruby

我有一个名为sold的数组,其中存储了所有序列号和彩票号。这将获取数组,打印数组中有多少相同的元素,并将它们存储在散列中:

grouped = sold.group_by{|item| [item.lotnumber, item.serialnumber]}
grouped.each {|key, value| fh.puts "  #{value.size}\t    #{key.first}\t     #{key.last}"}

如何将所有#{value.size}存储在数组中?

2 个答案:

答案 0 :(得分:0)

value_size_array = grouped.collect{|key, value| value.size}

答案 1 :(得分:0)

对于直观的大小数组:

grouped.values.collect(&:size)

如果您想要的只是总数,您可以采用不同的方式:

counts = Hash.new(0)
sold.each do |item|
  counts[[item.lotnumber, item.serialnumber]] += 1
end