Array#transpose の拡張ネタ

今のところ不揃いな配列は transpose できないんだけど

irb> [[1, 2], [3]].transpose
IndexError: element size differs (2 should be 1)
        from (irb):1:in `transpose'
        from (irb):1
        from /usr/local/bin/irb19:12:in `<main>'

長さが単調非増加なら transpose できてもいいかな、とか思った

[[10, 9, 8, 7],
 [6, 5, 4],
 [3, 2],
 [1]].transpose

=>
[[10, 6, 3, 1],
 [9, 5, 2],
 [8, 4],
 [7]]

というような感じで