Ruby Language
Tableaux multidimensionnels
Recherche…
Introduction
Les tableaux multidimensionnels dans Ruby ne sont que des tableaux dont les éléments sont d'autres tableaux.
Le seul problème est que, puisque les tableaux Ruby peuvent contenir des éléments de types mixtes, vous devez être sûr que le tableau que vous manipulez est composé d’autres tableaux et non, par exemple, de tableaux et de chaînes.
Initialisation d'un tableau 2D
Rappelons d'abord comment initialiser un tableau de nombres entiers 1D:
my_array = [1, 1, 2, 3, 5, 8, 13]
Étant un tableau 2D simplement un tableau de tableaux, vous pouvez l'initialiser comme ceci:
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]
]
Initialisation d'un tableau 3D
Vous pouvez aller plus loin et ajouter une troisième couche de tableaux. Les règles ne changent pas:
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']
],
[
[]
]
]
Accéder à un tableau imbriqué
Accéder au 3ème élément du premier sous-tableau:
my_array[1][2]
Aplatissement du tableau
Étant donné un tableau multidimensionnel:
my_array = [[1, 2], ['a', 'b']]
l'opération d'aplatissement consiste à décomposer tous les enfants du tableau dans le tableau racine:
my_array.flatten
# [1, 2, 'a', 'b']