Zoeken…


Invoering

Multidimensionale arrays in Ruby zijn slechts arrays waarvan de elementen andere arrays zijn.

De enige vangst is dat, omdat Ruby-arrays elementen van verschillende typen kunnen bevatten, u erop moet kunnen vertrouwen dat de array die u manipuleert, effectief bestaat uit andere arrays en niet, bijvoorbeeld, arrays en strings.

Een 2D-array initialiseren

Laten we eerst kort samenvatten hoe een 1D ruby array van gehele getallen moet worden geïnitialiseerd:

my_array = [1, 1, 2, 3, 5, 8, 13]

Omdat het een 2D-array is, gewoon een array van arrays, kunt u het als volgt initialiseren:

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

Een 3D-array initialiseren

Je kunt een niveau lager gaan en een derde laag arrays toevoegen. De regels veranderen niet:

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

Toegang tot een geneste array

Toegang tot het 3e element van de eerste subarray:

my_array[1][2]

Array afvlakking

Gegeven een multidimensionale array:

my_array = [[1, 2], ['a', 'b']]

de bewerking van afvlakking is om alle array-kinderen in de root-array te ontleden:

my_array.flatten

# [1, 2, 'a', 'b']


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow