From: Yusuke ENDOH Date: 2010-01-26T00:29:53+09:00 Subject: [ruby-dev:40152] [Bug:trunk] Matrix#compare_by_row_vectors does not receive array of Vector 遠藤です。 Matrix#compare_by_row_vectors が、その名前に反して、Vector の配列を 与えても正しく比較してくれません。 require "matrix" m = Matrix[[1, 2], [3, 4]] a = [Vector[1, 2], Vector[3, 4]] p m.compare_by_row_vectors(a) #=> false 配列の配列ならちゃんと動きます。これは意図的でしょうか。 p m.compare_by_row_vectors([[1, 2], [3, 4]]) #=> true 意図的でなければ、以下のパッチはどうでしょうか。 --- a/lib/matrix.rb +++ b/lib/matrix.rb @@ -427,7 +428,7 @@ class Matrix return false unless @rows.size == rows.size @rows.size.times do |i| - return false unless @rows[i].send(comparison, rows[i]) + return false unless @rows[i].send(comparison, Matrix.convert_to_array(rows[i])) end true end -- Yusuke ENDOH