From: Dan Zwell Date: 2007-08-01T09:23:05+09:00 Subject: change method Array.new? (Was: Unexpected behavior with multidimensional arrays) What would you guys think about removing the second parameter from Array.new ? I suggest this for 2 reasons: If the object is a pass-by-copy class such as Array.new(n, true), or Array.new(n, 23) then this syntax is exactly the same as Array.new(n) {true}, or Array.new(n) {23} If the object is a pass-by-reference, such as Array.new(n, Klass.new) this can be represented by k=Klass.new Array(n) {k} This syntax is less pretty, but does anybody even Array.new this way? It's a sort of nice piece of syntactic sugar, but I don't see how it's actually useful. Please correct me if I'm wrong about this. If all of the above is true, I would suggest removing the second parameter from this method, because it confuses plenty of newcomers. Thanks, Dan