サーチ…


前書き

Rubyの多次元配列は、要素が他の配列である単なる配列です。

唯一の捉え方は、Ruby配列には混合型の要素が含まれている可能性があるため、操作する配列は事実上配列や文字列ではなく他の配列で構成されていると確信する必要があります。

2D配列の初期化

最初に1Dルビの整数配列を初期化する方法を要約しましょう:

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

2D配列は単純に配列の配列なので、次のように初期化することができます:

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

3D配列の初期化

レベルをさらに下げて、配列の3番目のレイヤーを追加することができます。ルールは変更されません。

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

ネストされた配列へのアクセス

最初のサブ配列の3番目の要素にアクセスする:

my_array[1][2]

配列の平坦化

多次元配列の場合:

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

フラット化の操作は、すべての配列の子をルート配列に分解することです。

my_array.flatten

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


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow