zipメソッドで配列を転置する

配列を転置するためには、一度対象を行列にした上でtransposeなどをしてあげれば転置できる。 ただ、配列は行列の要素を満たしていないこともあるので、足りない部分にnilを入れる必要がある。これが地味にめんどくさい。

そこで登場するのが、zipメソッド。この子は、配列で行列として足りない要素にnilを入れて、行列を転置したような配列を返してくれる。

[1,2,3].zip([4,5], [7])
# => [[1, 4, 7], [2, 5, nil], [3, nil, nil]]