2 つの配列がある場合:
a = [1,2,3]
b = [2,3,4]
与えるために2つの配列を追加するための事前に構築された関数はありますか
c = a + b = [3,5,7]
つまり、配列の各要素の値を追加しますか?
2 つの配列がある場合:
a = [1,2,3]
b = [2,3,4]
与えるために2つの配列を追加するための事前に構築された関数はありますか
c = a + b = [3,5,7]
つまり、配列の各要素の値を追加しますか?
いいえ、これには 1 つの方法はありません。zip
ただし、次のmap
ように組み合わせることができます。
c = a.zip(b).map {|a,b| a+b}
あなたの質問に最も近いのは次のとおりだと思います。
[1,2,3].zip([2,3,4]).map{|x| x.reduce(:+)}
より多くの配列でも機能します
[1,2,3].zip([2,3,4], [3,4,5], [4,5,6]).map{|x| x.reduce(:+)}
これは、ベクトルの加算によく似ています。これを実現する 1 つの方法を次に示します。
require 'matrix'
a = Vector[1,2,3]
b = Vector[2,3,4]
puts a+b
#=> Vector[3,5,7]
単純to_a
に Vector で使用して配列を取得します。