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 № 1width.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