Issue #14151 has been updated by shevegen (Robert A. Heiler).


Matrix seems a bit weird ... it does not allow for a Matrix.new either.

The documentation is also lacking, as if the one who wrote it did not
finish writing the documentation:

    https://ruby-doc.org/stdlib/libdoc/matrix/rdoc/Matrix.html

I guess it is kept closely to mathematics ... but ruby is a practical
programming language so I understand that you want to use the methods
that are available there. It's even more curious because you could 
use .send() anyway to use these methods

    Matrix.send :new, [ [25, 93], [-1, 66] ]

which then works; I guess #[] = also works via send(), so I agree,
it should just really work. 

----------------------------------------
Feature #14151: Make Matrix#[]= public method
https://bugs.ruby-lang.org/issues/14151#change-68151

* Author: greggzst (Grzegorz Jakubiak)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
I don't even understand why this method hasn't been public since the beginning. I've come to a point when I have to create a matrix in a specific way using row and column indices and I can't use #build with a block because then indices go from the beginning of matrix whereas I have to from the center of the matrix. So what I wanted to do is to create a zero matrix and the fill it in a proper way but I can't without using #[]=. I know I can reopen class and that's what I'm doing but this just doesn't make sense. If we can change elements in an array like so using #[]= then why matrices can't use that as well?



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>