基本上,我想使用自己的方法创建自己的类似数组的类。
我想通过传递数组长度的争论来初始化它,它应该实例化一个具有给定长度并用零填充的新数组。所以我写了这样的东西:
class Foo < Array
def initialize(length)
Array.new(length, 0)
end
end
但是当我在IRB中进行测试时,我得到了:
a = Foo.new(5)
=> []
我也尝试使用for循环以零次n填充此数组,但无济于事。
我究竟做错了什么?
因为您是从Array继承的,所以可以这样做:
class Foo < Array
def initialize(length)
super(length, 0)
end
end
请注意,在上super
调用了原始initialize
方法Array
。
Foo.new(5)
#=> [0, 0, 0, 0, 0]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句