Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > matrixライブラリ > Vectorクラス > map2
map2(v) {|x, y| ... } -> Vector
[permalink][rdoc]ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つベクトルを返します。
ベクトルの各要素と、それに対応するインデックスを持つ引数 (ベクトル or 配列) の要素との組に対して (2引数の) ブロックを評価した結果を、要素として持つベクトルを返します。
ブロックを省略した場合は Enumerator を返します。
[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]