将ruby数组转换为连续对的数组

Iva*_*sev 38 ruby arrays

将ruby数组转换为连续元素对数组的最简单方法是什么?

我的意思是:

x = [:a, :b, :c, :d]
Run Code Online (Sandbox Code Playgroud)

预期结果:

y #=> [[:a, :b], [:c, :d]]
Run Code Online (Sandbox Code Playgroud)

dei*_*nst 76

用途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]]
Run Code Online (Sandbox Code Playgroud)