Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > matrixライブラリ > Vectorクラス > map2

instance method Vector#map2

map2(v) {|x, y| ... } -> Vector[permalink][rdoc]

ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つベクトルを返します。

ベクトルの各要素と、それに対応するインデックスを持つ引数 (ベクトル or 配列) の要素との組に対して (2引数の) ブロックを評価した結果を、要素として持つベクトルを返します。

ブロックを省略した場合は Enumerator を返します。

[PARAM] v:
ブロック内で評価される(ベクトル or 配列)
[EXCEPTION] ExceptionForMatrix::ErrDimensionMismatch:
自分自身と引数のベクト ルの要素の数(次元)が異なっていたときに発生します。

[SEE_ALSO] Vector#collect2

次の例は、2つのベクトルの要素毎の積を要素として持つベクトルを生成します。

例:

require 'matrix'

v1 = Vector[2, 3, 5]
v2 = Vector[7, 9, 11]
a = Array[7, 9, 11]

z = v1.map2(v2) {|x, y| x * y }
p z #=> Vector[14, 27, 55]

z = v1.map2(a) {|x, y| x * y } # ArrayでもOK
p z #=> Vector[14, 27, 55]