У меня есть класс:
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()