2016-06-13 119 views
0

是否有任何內置方法來生成連續數組元素的組合?數組中連續元素的組合

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

我試過的方法permutationcombination,並且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