Я хотел бы разделить мой массив следующим образом:
current_arr = [1,2,3,4,5] new_arr = [[1,2,3], [2,3,4], [3,4,5]]
#each_slice и #combination близки к тому, что я хочу, но не совсем. Как я могу разделить мой массив, как в примере?
#each_slice
#combination
Просто для удовольствия:
ary = [1,2,3,4,5] n = 3 (ary.size - n + 1).times.each_with_object([]) { |_, a| a << ary.first(n); ary.rotate! } #=> [[1, 2, 3], [2, 3, 4], [3, 4, 5]]
[1,2,3,4,5].each_cons(3).to_a #=> [[1, 2, 3], [2, 3, 4], [3, 4, 5]]
Проверьте документ на each_cons .