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