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']


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow