我有这堂课:
class Account
attr_accessor :balance
def initialize(balance)
@balance = balance
end
def credit(amount)
@balance += amount
end
def debit(amount)
@balance -= amount
end
end
然后,例如,稍后在程序中:
bank_account = Account.new(200)
bank_account.debit(100)
如果我在其中调用带有“-=”运算符的借记方法(如上面的类中所示),程序将失败并显示以下消息:
bank2.rb:14:in `debit': undefined method `-' for "200":String (NoMethodError)
from bank2.rb:52:in `<main>'
但是,如果我删除减号并将其设为@balance = amount,那么它就可以工作。显然我希望它减去,但我不知道为什么它不起作用。不能用实例变量做数学吗?