Ruby Language
Array multidimensionali
Ricerca…
introduzione
Gli array multidimensionali in Ruby sono solo array i cui elementi sono altri array.
L'unico problema è che, poiché gli array Ruby possono contenere elementi di tipi misti, è necessario essere sicuri che la matrice che si sta manipolando sia effettivamente composta da altri array e non, ad esempio, da matrici e stringhe.
Inizializzazione di un array 2D
Ricapitoliamo come inizializzare un array di interi 1 rubino 1D:
my_array = [1, 1, 2, 3, 5, 8, 13]
Essendo un array 2D semplicemente un array di array, puoi inizializzarlo in questo modo:
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]
]
Inizializzazione di un array 3D
Puoi scendere di un livello più in basso e aggiungere un terzo livello di array. Le regole non cambiano:
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']
],
[
[]
]
]
Accesso a un array annidato
Accedere al terzo elemento del primo sottotitolo:
my_array[1][2]
Array appiattito
Dato un array multidimensionale:
my_array = [[1, 2], ['a', 'b']]
l'operazione di appiattimento è di decomporre tutti i figli dell'array nell'array root:
my_array.flatten
# [1, 2, 'a', 'b']