Подтвердить что ты не робот

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

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

Я имею в виду:

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

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

y #=> [[:a, :b], [:c, :d]]
4b9b3361

Ответ 1

Используйте 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]]

Ответ 2

Hash[*[:a, :b, :c, :d]].to_a