配列を転置するためには、一度対象を行列にした上でtranspose
などをしてあげれば転置できる。
ただ、配列は行列の要素を満たしていないこともあるので、足りない部分にnil
を入れる必要がある。これが地味にめんどくさい。
そこで登場するのが、zip
メソッド。この子は、配列で行列として足りない要素にnil
を入れて、行列を転置したような配列を返してくれる。
[1,2,3].zip([4,5], [7]) # => [[1, 4, 7], [2, 5, nil], [3, nil, nil]]