动态创建2d数组ruby

时间:2016-07-24 01:02:21

标签: arrays ruby multidimensional-array

是否可以动态创建以下2d数组:

process.stderr

EG。

[[1, 1], [1, 2], [2, 1], [2, 2], [3, 1], [3, 2], [4, 1], [4, 2]]

以某种方式结合这个?

2 个答案:

答案 0 :(得分:5)

Array#product是您正在寻找的方法:

(1..4).to_a.product (1..2).to_a

答案 1 :(得分:0)

这听起来有点像家庭作业问题。了解你正在尝试做什么的背景会很好。你会花一些时间研究ruby为你提供的不同循环/迭代器。这是一个方法,它将使用ruby的迭代器方法upto之一返回您正在寻找的数组。

def generate_array
  arr = []

  1.upto(4) do |y|
    1.upto(2) do |x|
      arr << [y, x]
    end
  end

  arr
end