【Ruby】ネストされた配列の行と列を入れ替える

transposeメソッドを使う

transposeは、Arrayクラスのメソッド。

ネストされた配列に対し、行と列を入れ替え新しい配列を作ります

具体例

まずは実行例を見てみましょう。

arr = [[1, 2], [3, 4], [5, 6]]

arr.transpose
=> [[1, 3, 5], [2, 4, 6]]

どういう仕組みになっているかというと、、

①まず、arrを以下のような行列にみなします。

arr = [[1, 2], [3, 4], [5, 6]]
        ⬇️
arr = [[1, 2],
       [3, 4],
       [5, 6]]

②行列にみなした配列の行と列を入れ替えて、新しい配列を作ります。

arr = [[1, 2],
       [3, 4],
       [5, 6]]
      ⬇️
=> [[1, 3, 5], [2, 4, 6]]

タイトルとURLをコピーしました