1

在 Ruby 中从数组中加入 2 x 2 元素的最优雅方法是什么?

例如:我想加入数组:

ar = ['1', '2', '3', '4', '5']

并得到

ar = [ '12', '34', '5' ]

感谢帮助

4

2 回答 2

7

像往常一样,Enumerable是你的好朋友,它想让你的生活更轻松:

ar.each_slice(2).map(&:join)

唯一的技巧是使用无块形式each_slice来获得一个可以map加入切片的枚举器。

于 2012-08-16T23:27:13.057 回答
1

我不知道优雅,但这是我刚刚提出的:

ar.each_slice(2).map { |x, y| "#{x}#{y}" }

您不一定要给 一个块each_slice,它只是返回一个枚举器。因此可以调用map它,将每个切片的两个部分传递给它,然后返回一个不错的新数组。

于 2012-08-16T23:32:45.857 回答