Преобразование массива ruby ​​в массив последовательных пар

Какой самый простой способ преобразовать массив ruby ​​в массив последовательных пар его элементов?

Я имею в виду:

x = [:a, :b, :c, :d]

Ожидаемый результат:

y #=> [[:a, :b], [:c, :d]]
38
задан Stefan 3 July 2017 в 06:55
поделиться

2 ответа

Используйте Enumerable # each_slice :

y = x.each_slice(2).to_a
#=> [[:a, :b], [:c, :d]]

[0, 1, 2, 3, 4, 5].each_slice(2).to_a
#=> [[0, 1], [2, 3], [4, 5]]
76
ответ дан 27 November 2019 в 03:27
поделиться
Hash[*[:a, :b, :c, :d]].to_a
3
ответ дан 27 November 2019 в 03:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: