Szukaj…


Wprowadzenie

Wielowymiarowe tablice w Rubim to tylko tablice, których elementami są inne tablice.

Jedynym haczykiem jest to, że ponieważ tablice Ruby mogą zawierać elementy różnych typów, musisz mieć pewność, że manipulowana tablica skutecznie składa się z innych tablic, a nie na przykład tablic i ciągów.

Inicjowanie tablicy 2D

Podsumujmy najpierw, jak zainicjować tablicę liczb całkowitych rubinowych 1D:

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

Będąc tablicą 2D po prostu tablicą tablic, możesz ją zainicjować w następujący sposób:

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

Inicjowanie tablicy 3D

Możesz zejść poziom niżej i dodać trzecią warstwę tablic. Zasady się nie zmieniają:

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

Dostęp do zagnieżdżonej tablicy

Dostęp do trzeciego elementu pierwszej podtablicy:

my_array[1][2]

Spłaszczanie szyku

Biorąc pod uwagę tablicę wielowymiarową:

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

operacja spłaszczania polega na rozkładzie wszystkich elementów podrzędnych tablicy na tablicę główną:

my_array.flatten

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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow