Obwohl Rubin bietet keine explizite Unterstützung für mehrdimensionale Arrays können Sie implementieren einen selbst, wenn Sie über Grundkenntnisse der Sprache haben. Sie müssen im Wesentlichen erstellen " Array von Arrays ", in dem jedes Element des Arrays enthält noch ein weiteres Array . Um ein solches mehrdimensionales Array in Ruby zu erstellen , können Sie eine Methode verwendet, um die Arrays von Arrays zu erzeugen, so der Code muss nicht wiederholt werden. Anleitung
erstellen ein mehrdimensionales Array in Ruby
1
schreiben das Skelett des Verfahrens . Dieses Verfahren wird eine Reihe von Argumenten und Dimension eine leere mehrdimensionales Array dieser Dimensionen . Zum Beispiel für einen 10x10 -Array , rufen diese Methode mda (10,10) : . Def mda (Breite, Höhe ) Ende
2
Erstellen Sie ein Array von Elementen Breite
3
erstellen Sie ein Array von Elementen Höhe für jedes Element im Array. Dies macht die " Array von Arrays " , die als zweidimensionales Array verwendet wird. Um leere Arrays mit einer bestimmten Länge zu erstellen , verwenden Sie die Array.new Konstruktor mit der Länge als Argument. Zunächst werden alle Werte im Array gleich null.
4
Über die Karte ! Methode. Die Karte ! Verfahren durchläuft jedes Element in einem Array führt einen Block für jeden und weist das Ergebnis des Blocks auf dem Array-Element . Das gleiche Ergebnis kann mit Hilfe einer for-Schleife , aber die Karte ! Methode ist prägnant : def mda (Breite, Höhe ) a = Array.new (Breite) a.map ! { Array.new (Höhe) } return aend
5
Verwenden Sie dieses Feld mit dem Index (eckige Klammern []) -Operator. Zum Beispiel, wenn Sie ein 10x10 Array namens "a" hatte und wollte die 7,3 Element , würden Sie sagen, ein [7 ] [3] : a = mda (10,10) # Füllen Sie das Array mit VALUESa [7] [ ,"5] = "eine Zeichenkette " a [2] [ 9] = 23 # abrufen valuesputs ein [7 ] [5] stellt eine [2 ] [9]
6
Nutzen Sie die Möglichkeit, "Kette" -Methode ruft in Ruby . Zum Beispiel gibt die Methode ein Array Array.new . Sie können ein anderes Verfahren Kette Anruf auf , dass eine Methode für das zurückgegebene Array nennen . Da Sie Verkettung die Methoden sind, und nicht mit einer return-Anweisung , müssen Sie nicht den Namen der Variablen entweder : def mda (Breite, Höhe ) Array.new (Breite) map { Array.new (Höhe) } end . !