Jusqu'ici, tous les exercices que tu as vus utilisaient des classes.
Parfois, on n'a pas besoin du coût supplémentaire que représente la création d'un objet avec un état, et on utilise donc module à la place.
Un module est très similaire à une classe (en fait, Module est le parent de Class dans la hiérarchie d'objets). La principale différence est qu'au lieu d'utiliser des méthodes d'instance, on utilise des méthodes de classe.
Les méthodes de classe commencent par self. et sont appelées directement sur un module.
Par exemple :
module Speaker
def self.echo(something)
"#{something} ... #{something}"
end
end
Speaker.echo("Hello") #=> "Hello ... Hello"
Il existe plusieurs façons d'écrire des boucles en Ruby, mais comme on a tendance à utiliser l'énumération plutôt que les boucles en général, la boucle la plus courante est sans doute la boucle while :
counter = 0
while counter < 5
counter += 1
end
On peut aussi utiliser son pendant, until
counter = 0
until counter == 5
counter += 1
end
Dans cet exercice, on va travailler avec des comptes d'épargne. Chaque année, le solde d'un compte d'épargne est mis à jour en fonction du taux d'intérêt. Le taux d'intérêt accordé par la banque dépend de la somme d'argent présente sur le compte (son solde) :
1000 dollars.1000 dollars et inférieur à 5000 dollars.5000 dollars.Tu as trois tâches, qui portent chacune sur le solde et son taux d'intérêt.
Implémente la méthode SavingsAccount.interest_rate pour calculer le taux d'intérêt en fonction du solde indiqué :
SavingsAccount.interest_rate(200.75)
#=> 0.5
Note que la valeur renvoyée est une instance de Float.
Implémente la méthode SavingsAccount.annual_balance_update pour calculer la mise à jour annuelle du solde, en tenant compte du taux d'intérêt :
SavingsAccount.annual_balance_update(200.75)
#=> 201.75375
Note que la valeur renvoyée est une instance de Float.
Implémente la méthode SavingsAccount.years_before_desired_balance pour calculer le nombre minimum d'années nécessaires pour atteindre le solde souhaité :
SavingsAccount.years_before_desired_balance(200.75, 214.88)
#=> 14
Note que la valeur renvoyée est une instance de Integer.
Inscris-toi sur Exercism pour apprendre et maîtriser Ruby avec 21 concepts121 exercices, et un vrai mentorat humain, le tout gratuitement.