1

我想创建一个类并将 2 个变量传递给该类;宽度(x)和长度(y)。使用这些变量,程序应该建立一个矩阵或创建 x 个具有 y 个条目的数组。

问题是,如果它不是矩阵(如何?)如果数组是最好的,那么如果通过了 4、8,它怎么能工作?

array_name_0 = [0, 1, 2, 3, 4, 5, 6, 7]
array_name_1 = [0, 1, 2, 3, 4, 5, 6, 7]
array_name_2 = [0, 1, 2, 3, 4, 5, 6, 7]
array_name_3 = [0, 1, 2, 3, 4, 5, 6, 7]

其中“array_name_x”x将=通过创建传递的x,0-7基于y。

示例代码如下:

class Dimensional
  attr_reader :width, :length

  def initialize(width,length)

    @width = width
    @length = length
    @sqft = width * length

  end
  def full
    "
    width : #{@width}
    length: #{@length}
    sq ft : #{@sqft}

    #display array/matrix here

"
  end
end

myDimensional = Dimensional.new(4, 8)

print Dimensional.full

那么,在这个例子中,我将如何创建一个具有这些 x、y 值的矩阵,或者我将如何根据提供的 x 为 x 动态分配一个数字“array_name_x”?

4

1 回答 1

0

width.times.map{ length.times.to_a }想到,例如

matrix = 3.times.map{ 2.times.to_a }
# => [[0, 1], [0, 1], [0, 1]]

matrix.map{ |row| row.join(" ") }.join("\n")
# 0 1
# 0 1
# 0 1
于 2013-04-23T07:53:23.147 回答