Boucles : expression while...do
L’expression while...do
est utilisée pour effectuer une exécution itérative (boucle) quand une condition de test spécifiée a la valeur true.
Syntaxe
while test-expression do
body-expression
Notes
test-expression est évaluée. Si elle est true
, body-expression est exécutée et l’expression de test est réévaluée. body-expression doit avoir le type unit
. Si l’expression de test est false
, l’itération se termine.
L’exemple suivant illustre l’utilisation de l’expression while...do
.
open System
let lookForValue value maxValue =
let mutable continueLooping = true
let randomNumberGenerator = new Random()
while continueLooping do
// Generate a random number between 1 and maxValue.
let rand = randomNumberGenerator.Next(maxValue)
printf "%d " rand
if rand = value then
printfn "\nFound a %d!" value
continueLooping <- false
lookForValue 10 20
La sortie du code précédent est un flux de nombres aléatoires compris entre 1 et 20, dont le dernier est 10.
13 19 8 18 16 2 10
Found a 10!
Notes
Vous pouvez utiliser while...do
dans des expressions de séquence et d’autres expressions de calcul, auquel cas une version personnalisée de l’expression while...do
est utilisée. Pour plus d’informations, consultez Séquences, Expressions asynchrones, Expressions de tâche et Expressions de calcul.