/ / Jak utworzyć macierz z dostarczonymi wymiarami lub utworzyć nazwę zmiennej dynamicznej w języku Ruby dla każdej kolejnej tablicy? - ruby, tablice, zmienne, dynamiczne, macierz

Jak utworzyć macierz z podanymi wymiarami lub utworzyć nazwę zmiennej dynamicznej w języku Ruby dla każdej kolejnej tablicy? - ruby, tablice, zmienne, dynamiczne, macierz

Chciałbym stworzyć klasę i przekazać 2 zmiennedo tej klasy; szerokość (x) i długość (y). W przypadku tych zmiennych program powinien ustalić macierz lub utworzyć x liczbę tablic z y liczbą wpisów.

Problem polega na tym, że jeśli nie jest to macierz (jak?), Czy tablice są najlepsze, to jak może działać, jeśli przekazano 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]

gdzie "array_name_x" x to = x przekazane przez stworzenie, a 0-7 jest oparte na y.

Przykładowy kod w następujący sposób:

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

więc jak w tym przykładzie utworzyć matrycę z tymi wartościami x, y lub w jaki sposób dynamicznie przypisać "array_name_x" z liczbą dla x opartą na dostarczonym x?

Odpowiedzi:

0 dla odpowiedzi № 1

width.times.map{ length.times.to_a } przychodzi na myśl, na przykład

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