3

Rubyで配列の配列を要素の順序でグループ化する最も簡単な方法は何ですか? つまり、すべての 0 番目の要素を取得するには、次にすべての 1 番目の要素を取得します。

したがって、これから始めた場合:

[[1,2], [:a, :b], [:alpha, :beta]]

あなたはこれを得るでしょう:

[[1, :a, :b], [2, :b, :beta]]

私はそれを行うことができますzip

arr = [[1,2], [:a, :b], [:alpha, :beta]]
arr[0].zip(arr[1], arr[2])

...しかし、任意の長さの任意の数の内部配列に対して機能する、より一般的な方法が必要です。

4

1 に答える 1

3

私はArray#transposeがあなたが求めているものだと思います:

a = [[1,2], [:a, :b], [:alpha, :beta]]
p a.transpose #=> [[1, :a, :alpha], [2, :b, :beta]]
于 2012-07-31T23:53:10.237 に答える