на самом деле нет.Matrix.[]
используется для установки значений строки.Таким образом, Matrix.[10,10]
создаст Матрицу с 2 строками, и в каждом столбце будет 10.
. То, что вы ищете, это Matrix.build(row_size, column_size)
, где column_size
по умолчанию равно row_size
.Это дает вам перечислитель, который вы можете использовать для установки значений.(или вы просто передаете блок на Matrix.build
Я бы предложил другой подход:
arr = []
@input.each_index do |index|
arr[index] = @input[index].split ' '
end
@land = Matrix.build(10,10) do |row, column|
arr[row][column].to_i
end