Подтвердить что ты не робот

Перестройка конструктора

У меня есть класс:

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)
4b9b3361

Ответ 1

super в этом случае (без круглых скобок) является специальной формой. Он вызывает метод суперкласса с исходными параметрами.

Вместо этого попробуйте позвонить

super()