Ruby Language
Mehrdimensionale Arrays
Suche…
Einführung
Mehrdimensionale Arrays in Ruby sind nur Arrays, deren Elemente andere Arrays sind.
Der einzige Haken ist, dass, da Ruby-Arrays Elemente gemischter Typen enthalten können, Sie darauf vertrauen können, dass das von Ihnen bearbeitete Array tatsächlich aus anderen Arrays besteht und nicht beispielsweise aus Arrays und Strings.
Initialisieren eines 2D-Arrays
Lassen Sie uns zunächst zusammenfassen, wie Sie ein 1D-Ruby-Array von Ganzzahlen initialisieren:
my_array = [1, 1, 2, 3, 5, 8, 13]
Da es sich bei einem 2D-Array lediglich um ein Array von Arrays handelt, können Sie es wie folgt initialisieren:
my_array = [
[1, 1, 2, 3, 5, 8, 13],
[1, 4, 9, 16, 25, 36, 49, 64, 81],
[2, 3, 5, 7, 11, 13, 17]
]
Initialisieren eines 3D-Arrays
Sie können eine Ebene weiter nach unten gehen und eine dritte Ebene von Arrays hinzufügen. Die Regeln ändern sich nicht:
my_array = [
[
[1, 1, 2, 3, 5, 8, 13],
[1, 4, 9, 16, 25, 36, 49, 64, 81],
[2, 3, 5, 7, 11, 13, 17]
],
[
['a', 'b', 'c', 'd', 'e'],
['z', 'y', 'x', 'w', 'v']
],
[
[]
]
]
Zugriff auf ein verschachteltes Array
Zugriff auf das 3. Element des ersten Unterfelds:
my_array[1][2]
Abflachung des Arrays
Gegeben ein mehrdimensionales Array:
my_array = [[1, 2], ['a', 'b']]
Beim Reduzieren werden alle Array-Kinder in das Root-Array zerlegt:
my_array.flatten
# [1, 2, 'a', 'b']