複数の配列を同時に取り出す
ふと並列に配列を取り出したいと思っていろいろと関数を作ったりしてたのですが、こんな関数がRailsにはありました
@array1 = [ 1, 2, 3, 4, 5] @array2 = ['a', 'b', 'c', 'd', 'e'] @mixed_array = [] @array1.zip(@array2).each do |arr1, arr2| @mixed_array << [arr1, arr2] end
こうすると@array1と@array2から同時に取り出せるそうです。さらに複数になる場合は
@array1 = [ 1, 2, 3, 4, 5] @array2 = ['a', 'b', 'c', 'd', 'e'] @array3 = ['A', 'B', 'C', 'D', 'E'] @mixed_array = [] @array1.zip(@array2, @array3).each do |arr1, arr2, arr3| @mixed_array << [arr1, arr2, arr3] end
zip関数ってやつだそうです。