Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > matrixライブラリ > Vectorクラス > collect2
collect2(v) {|x, y| ... } -> Array
[permalink][rdoc]collect2(v) -> Enumerator
ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つ配列を返します。
ベクトルの各要素と、それに対応するインデックスを持つ引数 v (ベクトル or 配列)の要素との組に対して (2引数の) ブロックを評価し、その結果を要素として持つ配列を返します。
ブロックを省略した場合は Enumerator を返します。
[SEE_ALSO] Vector#map2
次の例は、2つのベクトルの要素毎の積を要素とする配列を生成します。
require 'matrix'
v1 = Vector[2, 3, 5]
v2 = Vector[7, 9, 11]
a = Array[7, 9, 11]
z = v1.collect2(v2){ |x, y| x * y }
p z # => [14, 27, 55]
z = v1.collect2(a) { |x, y| x * y } # Array でも OK
p z # => [14, 27, 55]