2016-06-13 3 views
0

Есть ли встроенный метод для создания комбинаций последовательных элементов массива?Комбинации последовательных элементов массива

a = ['1','2','3','4'] 
# => '12','23','34' 

Я попробовал методов permutation, combination и each_slice, но не был в состоянии произвести требуемую мощность.

a.permutation(2).to_a #=> [[1,2],[1,3],[1,4],[2,1],[2,3],[2,4],[3,1],[3,2],[3,4]] 
a.combination(2).to_a #=> [[1,2],[1,3],[1,4],[2,3],[2,4],[3,4]] 
a.each_slice(2) {|a| p a} #=> ["1", "2"],["3", "4"] 

ответ

2

Нет, но вы можете сделать это с помощью комбинации нескольких методов.

a.each_cons(2).map(&:join) 
# => ["12", "23", "34"] 
+0

Спасибо за помощь. Я буду больше смотреть в перечислимые. :) – Aparichith

Смежные вопросы