Partage via


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.

Voir aussi