TL DR: hashA.values.inject(Hash.new(0)) { |m, n| m[n] += 1; m } hashA.values.inject(Hash.new(0)) { |m, n| m[n] += 1; m }
> hashA = { a: 0, b: 1, c: 1, d: 2, e: 0, f: 1, g: 1 } => {:a=>0, :b=>1, :c=>1, :d=>2, :e=>0, :f=>1, :g=>1} > hashCounts = hashA.values.inject(Hash.new(0)) { |m, n| m[n] += 1; m } => {0=>2, 1=>4, 2=>1}
Dave newton
source share