动态创建2d数组ruby



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

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

例如。

(1..4).to_a
#=> [1, 2, 3, 4]
(1..2).to_a
#=> [1, 2]

以某种方式结合起来?

Array#产品是您要寻找的方法:

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

这听起来有点像家庭作业题。最好能了解一下你要做的事情。你会想花一些时间研究ruby为你提供的不同循环/迭代器。这里有一个方法,它将使用ruby的迭代器方法upto返回您要查找的数组。

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

相关内容

  • 没有找到相关文章

最新更新