我有一个名为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}
存储在数组中?
答案 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