【问题标题】:Dynamically create 2d array ruby动态创建二维数组 ruby
【发布时间】:2016-07-24 01:02:21
【问题描述】:

是否可以动态创建如下二维数组:

[[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]

以某种方式结合它?

【问题讨论】:

    标签: arrays ruby multidimensional-array


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-22
        • 2011-08-14
        • 1970-01-01
        • 2015-07-15
        • 1970-01-01
        • 2020-05-20
        • 2017-06-01
        • 2019-04-19
        相关资源
        最近更新 更多