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, sodass der Code nicht wiederholt werden muss.

Index

    Erstellen Sie ein mehrdimensionales Array in Ruby

    Schritt 1

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

    Schritt 2

    Erstellen Sie ein Array von width-Elementen.

    Schritt 3

    Erstellen Sie für jedes Element im Array ein Array von Höhenelementen. 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

    Verwenden Sie die Karte! Methode ebenso. 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. Dasselbe Ergebnis kann mit einer for-Schleife erzielt werden, aber die map! Methode ist prägnanter: def mda(width,height)a = Array.new(width)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 mit dem Namen „a“ haben 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] = "eine Zeichenkette"a[2][9] = 23# Werte abrufengibt a[7][5]gibt a[2][9]

    Schritt 6

    Nutzen Sie die Möglichkeit, Methodenaufrufe in Ruby zu „verketten“. Beispielsweise gibt die Methode Array.new ein Array zurück. Sie können einen anderen Methodenaufruf damit verketten, um eine Methode für das zurückgegebene Array aufzurufen. Da Sie die Methoden verketten und keine return-Anweisung verwenden, brauchen Sie den Variablennamen auch nicht: def mda(width,height)Array.new(width).map!{ Array.new(height) }end

    Tip

    Ruby is very expressive. The MDA method can be a short and concise single line of code. Extra lines and keywords only make code look more complicated than it really is. The return statement is not necessary in Ruby. Ruby methods and blocks automatically return the result of the last statement executed in the method or block.

    Das könnte Sie auch interessieren

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht.

    Go up