2016-11-14 2 views
-7

Мне сложно инициализировать аргумент B < A Я продолжаю получать сообщение об ошибке. Что мне нужно для инициализации параметров?Родитель в аргументе аргумента ruby ​​

class Checking < Account 
    def initialize 
    super 
    end 

    def balance 
    @balance = principal * (1 + interest_rate/365) ** 365 
    end 
end 

class Interest_rate 
    def interest_rate 
    @@interest_rate = 0.003 
    end 
end 
+2

Что такое 'Account'? – Li357

+1

Было бы полезно увидеть ваш класс 'Account'. В своем редактировании, пожалуйста, будьте более конкретными об ошибке, которую вы упомянули. Каково было сообщение об ошибке и на какой строке было поднято исключение? –

+0

@AndrewLi Я обновил учетную запись –

ответ

3
def initialize(initial_deposit) 

Вы были определения нулевого аргумента initialize и делегирование к родительской одноаргументной initialize.

+2

Кроме того, '@balance = # {@ principal} * (1 + # {@ interest_rate}/365) ** 365' не похоже на синтаксис Ruby ... – Carpetsmoker

2

В качестве альтернативы ответа Amadan в:

def initialize 
    super 
end 

Это инициализатор в Проверка класса не только бесполезно, это вредно. Он заявляет, что проверка не принимает никаких параметров, хотя это явно должно быть. Удалите этот метод, и он должен работать нормально.

(в случае отсутствия определенного инициализатора, один из родителей будет использоваться)

Смежные вопросы