Feature #2831: Matrix: each, all?, none?, each_with_index, ....
http://redmine.ruby-lang.org/issues/show/2831

Author: Marc-Andre Lafortune
Status: Open, Priority: Normal
Assigned to: Keiju Ishitsuka, Category: lib, Target version: 1.9.2

There is Matrix#collect, but it would be useful to have Matrix#each and include Enumerable.

All methods that return anything else than an array are completely natural: Matrix#all?, Matrix#any?, Matrix#count, Matrix#none?, etc...

Others can be left alone or undefined (#sort, #drop, ...)

Matrix#each_with_index should go over all values, and yield value, row and column

Currently, some basic operations are quite a bit more difficult than they could be. An example: to check if a matrix is composed of Integer:

# Currently, need to build an intermediate array
m = Matrix[...]
integral = m.row_vectors.all? do |row|
  row.all? &:integer?
end
# Could be
integral = m.all? &:integer?


I'll gladly provide precisions on each method and make a patch.


----------------------------------------
http://redmine.ruby-lang.org