2016-08-27 26 views
-1

我在執行窗體終端時出錯。account.rb:17:in`withdraw':未定義的方法` - '爲零:NilClass(NoMethodErro r)

withdraw : undefined method '-' 

我不明白爲什麼。我曾嘗試用sublime和記事本++進行編輯。

class Account 
    def initialize(name, balance, phone_no) 
     @name = name 
     @balance = balance 
     @phone_no = phone_no 
    end 

    def deposit(amount) 
     @amount += amount 
    end 

    def withdraw(amount) 
     @amount -= amount 
    end 

    def display() 
     puts "Name: " + @name 
     puts "Phone number: " + @phone_no.to_s 
     puts "Balance: " + @balance.to_s 
    end 

    def transfer(amount, target_account) 
     @balance -= amount 
     target_account.deposit(amount) 
    end 

    def status 
     return @balance 
    end 
end 
+0

您正在使用的賬戶對象在哪裏? – kiddorails

+0

另外,您還沒有在上面的類中的任何位置初始化@帳戶。你有'@餘額','@ phone_number'等,但是@帳戶總是'nil'。 – kiddorails

回答

0

這兩種方法不應該在@balance上運行嗎?

def deposit(amount) 
    @balance += amount 
end 

def withdraw(amount) 
    @balance -= amount 
end 

@amountnil。你這樣做

@amount = nil - amount 

nil沒有一個-方法

+0

你說得對..下次我會小心的.. – Amulya

0

@amountnildepositwithdraw方法。並且您不能在nil對象上調用-方法。可能你拼錯@balance@amount

def deposit(amount) 
    @balance += amount 
end 

def withdraw(amount) 
    @balance -= amount 
end 
+0

沒有工作..謝謝阿倫 – Amulya

相關問題