Простое разбиение массива ruby - PullRequest
0 голосов
/ 17 января 2019

Я хотел бы разделить мой массив следующим образом:

current_arr = [1,2,3,4,5]

new_arr = [[1,2,3], [2,3,4], [3,4,5]]

#each_slice и #combination близки к тому, что я хочу, но не совсем.
Как я могу разделить мой массив, как в примере?

Ответы [ 2 ]

0 голосов
/ 17 января 2019

Просто для удовольствия:

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]]
0 голосов
/ 17 января 2019
[1,2,3,4,5].each_cons(3).to_a
#=> [[1, 2, 3], [2, 3, 4], [3, 4, 5]]

Проверьте документ на each_cons .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...