クラス Matrix は基数 0 です。既存のメソッドの機能を維持しながら、基数 1 を使用して行列要素または行列の行を参照したいと思います。どうすればこれを達成できますか?
2 に答える
2
Matrix#each
使用可能Enumerator#with_index
require 'matrix'
m = Matrix[ [1,2], [3,4] ].each
m.with_index(1){|e,ind| puts "#{e} at #{ind}" }
# >> 1 at 1
# >> 2 at 2
# >> 3 at 3
# >> 4 at 4
Vector
class とを使用してこれを行うこともできますMatrix#row_vectors
。
require 'matrix'
m = Matrix[ [1,2], [3,4] ]
r_v = m.row_vectors().each
r_v.with_index(1){|e,r| p "#{e.to_a} at row #{r}"}
# >> "[1, 2] at row 1"
# >> "[3, 4] at row 2"
于 2013-09-22T15:36:52.000 に答える