Recherche…


Introduction

Les expressions de plage sont formées avec les fonctions rangeTo dont la forme opérateur est complétée par in et! In. La plage est définie pour tout type comparable, mais pour les types primitifs intégraux, elle a une implémentation optimisée.

Gammes de type intégral

Les plages de types intégraux (IntRange, LongRange, CharRange) ont une fonctionnalité supplémentaire: elles peuvent être itérées. Le compilateur prend soin de convertir ceci de manière analogue à Java indexé pour la boucle, sans surcharge supplémentaire

for (i in 1..4) print(i) // prints "1234"
for (i in 4..1) print(i) // prints nothing

fonction downTo ()

si vous voulez parcourir les nombres dans l'ordre inverse? C'est simple. Vous pouvez utiliser la fonction downTo () définie dans la bibliothèque standard

for (i in 4 downTo 1) print(i) // prints "4321"

fonction step ()

Est-il possible d'itérer sur des nombres avec pas arbitraire, pas égal à 1? Bien sûr, la fonction step () vous aidera

for (i in 1..4 step 2) print(i) // prints "13"
for (i in 4 downTo 1 step 2) print(i) // prints "42"

jusqu'à fonction

Pour créer une plage qui n'inclut pas son élément de fin, vous pouvez utiliser la fonction jusqu'à:

for (i in 1 until 10) { // i in [1, 10), 10 is excluded
println(i)
}


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow