Apprendre Ruby en faisant des maths 2
On a vu, précédemment,
comment savoir si un nombre d est un diviseur de n avec 8 % 2
et
comment obtenir une liste de nombre avec 1..8
. Maintenant on peut
apprendre à sélectionner les nombres qui nous intéressent dans cette liste.
Pour cela, nous allons utiliser la méthode select
:
Et voilà, nous avons nos diviseurs de 8. La méthode select
utilise un
bloc d’instructions (ce qui se trouve entre les {}
). Cette (ou ces)
instruction va être exécutée sur chaque éléments de 1..8
, c’est à dire
sur 1, 2, 3, 4, 5 ,6, 7 puis enfin 8. Ici, l’instruction exécutée sur les
éléments est 8 % int == 0
. En clair on teste si le reste de la division
de 8 par int
égal zéro. Qu’est-ce que c’est que ce int
? Et bien c’est
l’élément en cours de traitement, c’est à dire 1, puis 2, et ensuite 3, etc
jusqu’à 8. int
est simplement un nom qu’on a donné pour pouvoir se
référer à l’élément en cours, ce nom est indiqué entre deux caractères |
,
comme dans |int|
. On peut lui donner le nom qu’on veut, par exemple:
Pour information, int est le diminutif de integer, qui signifie nombre entier en anglais.
Comment Ruby sait qu’il doit sélectionner 2 et pas 3 ? Regardons cela de plus près:
Le résultat d’un test, ici l’égalité avec ==
est soit vrai (true), soit
faux (false). Lorsque l’instruction dans le bloc ({}
) renvoie true, l’élément
est sélectionné, lorsqu’elle renvoie false, l’élément est éliminé.
Vous devriez vérifier maintenant que ça fonctionne bien avec n’importe quel nombre entier positif:
La prochaine fois, on verra comment créer nos propres méthodes.
À demain.