我对Ruby很陌生。我需要扩展Array
,我需要我的类来表示二维数组。
我已经这样做了:
class MyExtension < Array
def initialize(n)
super(n, Array.new(n, nil))
self[0][0] = "hello"
end
end
这在理论上看起来对我来说是正确的,但是当我这样做时:
p MyExtension.new(2)
我明白了
[["hello", nil], ["hello", nil]]
而不是预期的:
[["hello", nil], [nil, nil]]
我怎么了?