0

私は2つの配列を持っています:

a = ["a1", "a2", "a3"]
b = ["b1", "b2", "b3"]

次のような配列を取得したいと思います。

combined = [["a1", "b1"], ["a2", "b2"], ["a3", "b3"]]

私はハッシュで解決策を見つけましたHash[a.zip b]

{"a1"=>"b1", "a2"=>"b2", "a3"=>"b3"}

これはラムダ関数で解決する必要があるかもしれませんが、これをさらに高速なワンライナーにする簡単なRubyマジックがあるかどうか疑問に思いました。

4

2 に答える 2

3

なぜあなたがHash関わったのかわかりません。Array#zip必要な方法です。

a = ["a1", "a2", "a3"]
b = ["b1", "b2", "b3"]

a.zip(b) # => [["a1", "b1"], ["a2", "b2"], ["a3", "b3"]]
于 2013-02-14T18:59:04.440 に答える
3

あるいは、

combined = [a, b].transpose
于 2013-02-14T19:02:31.537 に答える