在 Ruby 中从数组中加入 2 x 2 元素的最优雅方法是什么?
例如:我想加入数组:
ar = ['1', '2', '3', '4', '5']
并得到
ar = [ '12', '34', '5' ]
感谢帮助
在 Ruby 中从数组中加入 2 x 2 元素的最优雅方法是什么?
例如:我想加入数组:
ar = ['1', '2', '3', '4', '5']
并得到
ar = [ '12', '34', '5' ]
感谢帮助
像往常一样,Enumerable是你的好朋友,它想让你的生活更轻松:
ar.each_slice(2).map(&:join)
唯一的技巧是使用无块形式each_slice
来获得一个可以map
加入切片的枚举器。
我不知道优雅,但这是我刚刚提出的:
ar.each_slice(2).map { |x, y| "#{x}#{y}" }
您不一定要给 一个块each_slice
,它只是返回一个枚举器。因此可以调用map
它,将每个切片的两个部分传递给它,然后返回一个不错的新数组。