Apprendre Ruby en faisant des maths 3
La dernière fois, on a vu comment calculer la liste des diviseurs
d’un nombre avec (1..8).select {|int| 8 % int == 0 }
. On va aujourd’hui
faire en sorte que ça fonctionne avec n’importe quel nombre, en écrivant
notre propre méthode.
Résumons : pour trouver les diviseurs de 8, j’écris:
et pour trouver les diviseurs de 4, j’écris:
Ce que je veux, c’est une façon de faire plus générale: je veux trouver les diviseurs pour tout entier n. Essayons donc de remplacer le nombre recherché par n:
Ruby n’est pas content et nous signale qu’il ne connait pas n. Ok, essayons alors de définir n d’abord:
Cette fois c’est bon. Maintenant vous êtes prêt à définir une méthode:
Pour information, divisors est le mot anglais pour diviseurs.
Une définition de méthode commence par le mot-clé def
et se termine par
le mot-clé end
. La méthode ci-dessus s’appelle divisors
et elle prend
un argument qui est nommé n
.
On lance/appelle/exécute une méthode simplement par son nom, sans oublier
son (ses) argument(s). Par exemple divisors 8
va calculer et renvoyer la
liste des diviseurs de 8. Voici un exemple d’utilisation lors d’une session
irb:
La prochaine fois nous verrons comment se servir de la méthode divisors
comme d’une base pour construire une autre méthode.
À demain.