Boucle for in
Une suite de valeurs, et la boucle qui les prend une à une, sans indice ni compteur.
Compter jusqu’à un nombre est une chose ; parcourir des valeurs en est une autre. Pour la seconde, il faut d’abord un endroit où les ranger.
@entry(demarrer)
object MonProgramme {
demarrer() {
var temperatures := [12, 19, 7];
for mesure in temperatures {
Console.print(text: $"mesure : {mesure}");
}
}
}
Plusieurs valeurs sous un seul nom
var temperatures := [12, 19, 7];
Les crochets rassemblent plusieurs valeurs en une seule — un tableau. Ici trois entiers, dans
cet ordre, sous le nom temperatures. Comme pour une variable ordinaire, le type se suit tout
seul : le compilateur lit trois entiers et en déduit un tableau d’entiers.
Toutes les valeurs d’un tableau sont du même type. On ne mélange pas des nombres et des
textes dans le même : un tableau de textes s’écrit ["a", "b"], et il ne recevra jamais un
nombre.
for … in … prend les valeurs une à une
for mesure in temperatures {
À chaque tour, mesure vaut l’élément suivant. Pas d’indice, pas de compteur, pas de condition
à écrire : la boucle s’arrête quand le tableau est épuisé, et vous n’avez pas à savoir combien il
en contenait.
Comparez avec la sous-section précédente. Là-bas, il fallait initialiser un compteur, écrire la condition, penser à l’avancement — trois occasions de se tromper, dont la plus classique est de s’arrêter un cran trop tôt ou trop tard. Ici, ces trois-là n’existent pas.
mesure est locale à la boucle, comme le i d’un for compté.
Laquelle choisir
for … indès que vous parcourez des valeurs. C’est le cas courant, et c’est celui qui se lit.forcompté quand c’est le rang qui vous intéresse et non la valeur — compter à l’envers, avancer de deux en deux, ou avoir besoin du numéro de la position.
break et continue fonctionnent dans les deux, à l’identique.
À vous
- Ajoutez une quatrième mesure au tableau : la boucle la prend sans qu’on touche à rien d’autre. C’est tout l’intérêt.
- Faites un tableau de textes —
var noms := ["Simon", "Magus"];— et parcourez-le. - Affichez seulement les mesures au-dessus de 10, avec un
ifdans le corps. - Sortez de la boucle dès la première mesure au-dessus de 15, avec
break.