From: grzegorz.jakubiak@... Date: 2017-12-03T15:03:54+00:00 Subject: [ruby-core:84066] [Ruby trunk Feature#14151] Make Matrix#[]= public method 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: