在Ruby中将数组转换为2D数组的最佳方法

时间:2018-04-24 03:59:37

标签: arrays ruby

说我有一个数组:

s = ["Abc", 123, "Abc", 123, "Abc", 123, "Abc", 123, "Abc", 123]

将它变成

的最佳方式是什么?
array = [["Abc",123]["Abc",123]["Abc",123]["Abc",123]["Abc",123]

1 个答案:

答案 0 :(得分:1)

使用Enumerable#each_slice

  

each_slice(n){...}→nil
   each_slice(n)→an_enumerator
  为每个n元素切片迭代给定的块。如果没有给出块,则返回枚举器。

所以你要说:

s.each_slice(2).to_a

s.each_slice(2).entries