読者です 読者をやめる 読者になる 読者になる

二次元配列を縦と横を入れ替えるメソッド

Ruby

Rubyは1.6のころから使っているのですが、当時は二次元配列の
縦と横を入れ替えるメソッドは自作していました。
今日は驚愕の事実を発見してしまいました。

Array#transpose

自身を行列と見立てて、行列の転置(行と列の入れ換え)を行いま す。転置した配列を生成して返します。空の配列に対しては空の配列を生 成して返します。

1 2 3
4 5 6
7 8 9

これを

1 4 7
2 5 8
3 6 9

に置き換えたいわけです。
今までは面倒なことをチマチマとやっていたのですが、

irb(main):002:0> [[1,2,3],[4,5,6],[7,8,9]].transpose
=> [[1, 4, 7], [2, 5, 8], [3, 6, 9]]

あーやんなっちゃう。