Преобразование массива ruby ​​в массив последовательных пар - PullRequest
37 голосов
/ 13 августа 2010

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

Я имею в виду:

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

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

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

Ответы [ 2 ]

74 голосов
/ 13 августа 2010

Использование 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 голосов
/ 13 августа 2010
Hash[*[:a, :b, :c, :d]].to_a
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...