Ruby重写数组类的初始化方法

阿苏涅兹

基本上,我想使用自己的方法创建自己的类似数组的类。

我想通过传递数组长度的争论来初始化它,它应该实例化一个具有给定长度并用零填充的新数组。所以我写了这样的东西:

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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ruby类初始化重写模块初始化

来自分类Dev

Ruby类初始化

来自分类Dev

Ruby类初始化

来自分类Dev

如何在Ruby中初始化类数组

来自分类Dev

如何在Ruby中初始化类数组

来自分类Dev

Ruby数组初始化

来自分类Dev

类数组的初始化

来自分类Dev

初始化Ruby类的惯用方式

来自分类Dev

NoMethodError Ruby在类上初始化

来自分类Dev

初始化类对象数组C ++

来自分类Dev

结构或类中的数组初始化

来自分类Dev

泛型类不调用重写的初始化程序

来自分类Dev

泛型类不调用重写的初始化器

来自分类Dev

如何通过Ruby中的类方法初始化类变量

来自分类Dev

初始化类成员的最佳方法?

来自分类Dev

初始化类的功能方法

来自分类Dev

WebAPI-从初始化(重写)方法返回响应

来自分类Dev

通过调用方法初始化数组

来自分类Dev

初始化php数组的干净方法

来自分类Dev

如何获取数组类实例以使用初始化列表初始化数组

来自分类Dev

带有默认哈希值的Ruby类初始化方法

来自分类Dev

自定义数组类:用于列表初始化的构造方法

来自分类Dev

初始化包含元组数组的类的正确和简便方法是什么?

来自分类Dev

自定义数组类:列表初始化的构造方法

来自分类Dev

Ruby类中的未初始化常量错误

来自分类Dev

如何在ruby中初始化模块类?

来自分类Dev

Ruby在初始化器中预加载类

来自分类Dev

如何在模块中初始化ruby类变量

来自分类Dev

Ruby/Rails 类变量何时初始化?