Issue #14151 has been updated by greggzst (Grzegorz Jakubiak).


shevegen (Robert A. Heiler) wrote:
> 
> 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.

I completely forgot that private method can be invoked using send so I'm using send now. But still it would be better if it was public.


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

* 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>