2

2 つの配列がある場合:

a = [1,2,3]
b = [2,3,4]

与えるために2つの配列を追加するための事前に構築された関数はありますか

c = a + b = [3,5,7]

つまり、配列の各要素の値を追加しますか?

4

3 に答える 3

10

いいえ、これには 1 つの方法はありません。zipただし、次のmapように組み合わせることができます。

c = a.zip(b).map {|a,b| a+b}
于 2012-04-21T22:43:35.787 に答える
6

あなたの質問に最も近いのは次のとおりだと思います。

[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(:+)}
于 2012-04-21T22:46:36.080 に答える
6

これは、ベクトルの加算によく似ています。これを実現する 1 つの方法を次に示します。

require 'matrix'

a = Vector[1,2,3]
b = Vector[2,3,4]

puts a+b
#=> Vector[3,5,7]

単純to_aに Vector で使用して配列を取得します。

于 2012-04-21T23:17:58.250 に答える