So erstellen Sie ein mehrdimensionales Array in Ruby

So erstellen Sie ein mehrdimensionales Array in Ruby. Obwohl Ruby keine explizite Unterstützung für mehrdimensionale Arrays bietet, können Sie selbst eines implementieren, wenn Sie über Grundkenntnisse der Sprache verfügen. Sie müssen im Wesentlichen ein "Array von Arrays" erstellen, in dem jedes Element des Arrays ein weiteres Array enthält. Um ein solches mehrdimensionales Array in Ruby zu erstellen, können Sie eine Methode schreiben, die zum Generieren der Arrays von Arrays verwendet wird, damit der Code nicht wiederholt werden muss.

Erstellen Sie ein mehrdimensionales Array in Ruby

Schritt 1

Schreiben Sie das Skelett der Methode. Diese Methode nimmt eine Reihe von Dimensionsargumenten und gibt ein leeres mehrdimensionales Array dieser Dimensionen zurück. Rufen Sie beispielsweise für ein 10x10-Array diese Methode auf mda (10,10):def mda (width, height) end

Video des Tages

Schritt 2

Erstellen Sie ein Array von Breitenelementen.

Schritt 3

Erstellen Sie ein Array von Höhenelementen für jedes Element im Array. Dies macht das "Array von Arrays", das als zweidimensionales Array verwendet wird. Um leere Arrays einer bestimmten Länge zu erstellen, verwenden Sie den Array.new-Konstruktor mit der Länge als Argument. Anfänglich sind alle Werte im Array null.

Schritt 4

Benutze die Karte! auch Methode. Die Karte! -Methode iteriert jedes Element in einem Array, führt für jedes einen Block aus und weist das Ergebnis des Blocks dem Array-Element zu. Das gleiche Ergebnis kann mit einer for-Schleife erreicht werden, aber die Karte! Methode ist prägnanter: def mda (Breite, Höhe) a = Array.new (Breite) a.map! { Array.new (height) }return aend

Schritt 5

Verwenden Sie dieses Array mit dem tiefgestellten Operator (eckige Klammern []). Wenn Sie beispielsweise ein 10x10-Array namens "a" hätten und das 7,3-Element haben möchten, würden Sie a[7][3] sagen: a = mda (10,10)# Füllen Sie das Array mit Wertena[7][5] = "a string"a[2][9] = 23# Abrufen von Wertenputs a[7][5]Puts a[2][9]

Schritt 6

Nutzen Sie die Möglichkeit, Methodenaufrufe in Ruby zu "verketten". Die Methode Array.new gibt beispielsweise ein Array zurück. Sie können einen weiteren Methodenaufruf daran verketten, um eine Methode des zurückgegebenen Arrays aufzurufen. Da Sie die Methoden verketten und keine return-Anweisung verwenden, brauchen Sie auch den Variablennamen nicht: def mda (width, height) Array.new (width).map!{ Array.new (height) }end

Spitze

Rubin ist sehr ausdrucksstark. Die MDA-Methode kann eine kurze und prägnante einzelne Codezeile sein. Zusätzliche Zeilen und Schlüsselwörter lassen den Code nur komplizierter aussehen, als er wirklich ist. Die return-Anweisung ist in Ruby nicht erforderlich. Ruby-Methoden und -Blöcke geben automatisch das Ergebnis der letzten in der Methode oder dem Block ausgeführten Anweisung zurück.