计算ruby数组中元素的连续出现次数

Lar*_*nal 7 ruby

给出一些如下的数组:

x = ['a', 'b', 'b', 'c', 'a', 'a', 'a']
Run Code Online (Sandbox Code Playgroud)

我希望最终能够显示每个元素按顺序重复多少次.所以也许我最终会得到以下结果:

[['a', 1], ['b', 2], ['c', 1], ['a', 3]]
Run Code Online (Sandbox Code Playgroud)

结果的结构并不重要......可能是其他一些需要的数据类型.

pgu*_*rio 25

1.9就是Enumerable#chunk为了这个目的:

x.chunk{|y| y}.map{|y, ys| [y, ys.length]}
Run Code Online (Sandbox Code Playgroud)