2012-08-16 46 views
1

在Ruby中,從數組中加入2個2個元素的最優雅方式是什麼?立即連接2個元素

例如: 我想加入陣列:

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

,並得到

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

感謝您的幫助

回答

7

像往常一樣,Enumerable是你的好朋友,並希望讓您的生活更輕鬆:

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

唯一的技巧是使用無塊形式的each_slice來獲得一個枚舉器,您可以使用map來加入切片。

1

我不知道優雅,但是這是我剛剛颳起了:

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

你不一定非要在塊each_slice,它只是返回一個枚舉。所以你可以打電話給map,將它傳遞給每個片的兩部分,並返回一個不錯的新數組。