Hasta ahora, todos los ejercicios que has visto han usado clases.
A veces no necesitamos la sobrecarga de crear un objeto con estado, así que en su lugar usamos module.
Un módulo es muy similar a una clase (de hecho, Module es el padre de Class en la jerarquía de objetos); la principal diferencia es que, en lugar de usar métodos de instancia, usamos métodos de clase.
Los métodos de clase empiezan por self. y se llaman directamente sobre un módulo.
Por ejemplo:
module Speaker
def self.echo(something)
"#{something} ... #{something}"
end
end
Speaker.echo("Hello") #=> "Hello ... Hello"
Hay varias formas de escribir bucles en Ruby, pero como tendemos a usar la enumeración en lugar del bucle en general, quizá el bucle más habitual sea el bucle while:
counter = 0
while counter < 5
counter += 1
end
También puedes usar su variante until
counter = 0
until counter == 5
counter += 1
end
En este ejercicio vas a trabajar con cuentas de ahorro. Cada año, el saldo de una cuenta de ahorro se actualiza según el tipo de interés. El tipo de interés que da el banco depende de la cantidad de dinero que haya en la cuenta (su saldo):
1000 dólares.1000 dólares y menor que 5000 dólares.5000 dólares.Tienes tres tareas, y cada una de ellas trata con el saldo y su tipo de interés.
Implementa el método SavingsAccount.interest_rate para calcular el tipo de interés a partir del saldo especificado:
SavingsAccount.interest_rate(200.75)
#=> 0.5
Ten en cuenta que el valor devuelto es una instancia de Float.
Implementa el método SavingsAccount.annual_balance_update para calcular la actualización anual del saldo, teniendo en cuenta el tipo de interés:
SavingsAccount.annual_balance_update(200.75)
#=> 201.75375
Ten en cuenta que el valor devuelto es una instancia de Float.
Implementa el método SavingsAccount.years_before_desired_balance para calcular el número mínimo de años necesarios para alcanzar el saldo deseado:
SavingsAccount.years_before_desired_balance(200.75, 214.88)
#=> 14
Ten en cuenta que el valor devuelto es una instancia de Integer.
Regístrate en Exercism para aprender y dominar Ruby con 21 conceptos121 ejercicios y mentoría humana real, todo gratis.