a = [6, 7, 8, 9, 10]
b = [1, 2, 3, 4, 5]
各配列aのアイテムは、配列bのアイテムごとに分割され、cという新しい配列に入れられます。Ruby - 2つ(多分)の配列の各項目に対して操作を実行し、それらを新しい配列に入れる方法はありますか?
c = [6, 3, 2, 2, 2]
a = [6, 7, 8, 9, 10]
b = [1, 2, 3, 4, 5]
各配列aのアイテムは、配列bのアイテムごとに分割され、cという新しい配列に入れられます。Ruby - 2つ(多分)の配列の各項目に対して操作を実行し、それらを新しい配列に入れる方法はありますか?
c = [6, 3, 2, 2, 2]
a = [6, 7, 8, 9, 10]
b = [1, 2, 3, 4, 5]
c = a.zip(b).map { |e| e.reduce :/ }
#⇒ [
# [0] 6,
# [1] 3,
# [2] 2,
# [3] 2,
# [4] 2
# ]
Array#zip
各要素が(2個のアイテムの配列は、zip形式)Integer#/
で還元されて一緒にした後、アレイをジッパー。
私はカップルの選択肢mudasobwaの郵便番号/マップソリューションを好きですが、ここにある:配列が同じ長さであることが保証されていない場合は特に
a = [6, 7, 8, 9, 10]
b = [1, 2, 3, 4, 5]
c = Array.new(a.size) { |i| a[i]/b[i] }
c = a.map.with_index { |x, i| x/b[i] }
を、私はArray.newソリューションを好むかもしれません、境界を超えないように簡単に確認できるからです。
c = Array.new([a.size, b.size].min) { |i| a[i]/b[i] }
'Array [a、b] .transpose.map {| a、b | a/b} ' –