gpt4 book ai didi

ruby - 构造函数覆盖

转载 作者:数据小太阳 更新时间:2023-10-29 06:27:39 26 4
gpt4 key购买 nike

我有一个类:

class One
def initialize; end
end

我需要像这样用我自己的构造函数创建一个新类:

class Two < One
def initialize(some)
puts some
super
end
end

Two.new("thing")

但是当我启动代码时,出现错误:

thing
test.rb:10:in `initialize': wrong number of arguments (1 for 0) (ArgumentError)

最佳答案

super 在这种情况下(没有括号)是一种特殊形式。它使用原始参数调用父类(super class)方法。

尝试调用

super()

关于ruby - 构造函数覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2570428/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com