Я написал очень простой модуль finance в Ruby, чтобы упростить мои собственные вычисления, поскольку иногда просто ввести irb
и начать вызывать функции намного проще. Но странным является то, что в моем модуле есть подмодуль с методом с именем future_value (Finance::CompoundInterest.future_value
) ... но, согласно irb
, его не существует? Он довольно маленький, но я бы предпочел использовать сложный процент вместо того, чтобы вводить формулу каждый раз.
При загрузке в irb
не выдается никаких ошибок или предупреждений, а метод невидим для всех намерений и целей. Почти, к сожалению, я могу создать экземпляр Finance::Mortgage
.
Вот мой финансовый отдел:
module Finance
module CompoundInterest
def future_value(present_value, interest, length)
interest /= 100 if interest >= 1 # if given in percent 1..100
present_value * ((1 + interest)**length)
end
end
class Mortgage
attr_accessor :amount, :rate, :years, :payment, :interest_paid
def initialize(amount, rate, years)
@amount, @rate, @years = amount, rate, years
i = rate / 12
n = years * 12
m = (1 + i)**n
@payment = ((i * m) / (m - 1)) * amount
@interest_paid = @payment * n - amount
end
end
end
Что я опечатал, чтобы получить эту странную ситуацию? Я использую Ruby 1.8.7-72.