如何通过ruby语言从数组或哈希中收集不同的数据?

时间:2013-07-24 09:42:07

标签: ruby arrays hash

例如,我有数据:

a,b,c,a,c,d
  • 我想得到不同的数据:a,b,c,d
  • 我想获取数据:a => 2,b => 1,c => 2,d => 1

可能还有其他数据,例如e,f,g等。

怎么办?

1 个答案:

答案 0 :(得分:0)

a = [:a,:b,:c,:a,:c,:d]
p h = a.each_with_object(Hash.new(0)){|i,h| h[i] += 1}
p h.keys
# >> {:a=>2, :b=>1, :c=>2, :d=>1}
# >> [:a, :b, :c, :d]