instance method Matrix#collect

map(which = :all) {|x| ... } -> Matrix[permalink][rdoc][edit]
collect(which = :all) {|x| ... } -> Matrix
map(which = :all) -> Enumerator
collect(which = :all) -> Enumerator

行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。

ブロックがない場合、 Enumerator を返します。

[PARAM] which:
which に以下の Symbol を指定することで、引数として使われる要素を限定できます。デフォルトは、:all (全ての要素)です。指定できる Symbol の詳細は、 Matrix#each の項目を参照して下さい。


require 'matrix'

m = Matrix[[1, 2], [3, 4]]
p m.map { |x| x + 100 } # => Matrix[[101, 102], [103, 104]]
p m.map(:diagonal) { |x| x * 10 } # => Matrix[[10, 2], [3, 40]]

[SEE_ALSO] Matrix#each, Matrix#map!