代码:
1) totals = Hash.new(0)
arr = [1, 1, 2, 2, 3, 3, 1, 3]
arr.each do |val|
totals[val] += 1
end
p totals
--output:-- {1=>3, 2=>2, 3=>3}
2) totals = []
arr = [ [1, 2, 3], [1, 2, 3, 3, 2, 1], [1, 2, 3, 1, 2, 3, 1, 2, 3] ]
arr.each do |sub_arr|
curr_totals = Hash.new(0)
sub_arr.each do |val|
curr_totals[val] += 1
end
totals << curr_totals end p totals
--output:-- [{1=>1, 2=>1, 3=>1}, {1=>2, 2=>2, 3=>2}, {1=>3, 2=>3, 3=>3}]