はじめに
最近、勉強している際に配列の中の要素を取り出すことがとても多い。そこでいつもeachメソッドを使って取り出すのですが、今回2つの配列から同時にループさして取り出したいと思ったので、その方法についてまとめておきます。
zipメソッドを使う
使い方は
1つ目の配列.zip(2つ目の配列) do |変数1,変数2| 処理 end
例)
odd = [1,3,5]
even = [2,4,6]
odd.zip(even) do |x, y|
puts x
puts y
end
実行結果
# 実行結果
irb(main):001:0> odd = [1,3,5]
=> [1, 3, 5]
irb(main):002:0> even = [2,4,6]
=> [2, 4, 6]
irb(main):003:0>
irb(main):004:0> odd.zip(even) do |x, y|
irb(main):005:1* puts x
irb(main):006:1> puts y
irb(main):007:1> end
1
2
3
4
5
6
=> nil
参考