给定一些如下的数组:
x = ['a','b','c','a','a']
我希望最终能够显示每个元素按顺序重复多少次.所以也许我最终会得到以下结果:
[['a',1],['b',2],['c',['a',3]]
结果的结构并不重要……可能是其他一些需要的数据类型.
解决方法
1.9就这个目的而言有
Enumerable#chunk
:
x.chunk{|y| y}.map{|y,ys| [y,ys.length]}