是否有任何内置方法可以生成连续数组元素的组合?
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"]
答案 0 :(得分:3)
不,但你可以通过几种方法的组合来实现。
a.each_cons(2).map(&:join)
# => ["12", "23", "34"]