Lussen: terwijl... do Expression

De while...do expressie wordt gebruikt om iteratieve uitvoering (lussen) uit te voeren terwijl een opgegeven testvoorwaarde waar is.

Syntaxis

while test-expression do
    body-expression

Opmerkingen

De testexpressie wordt geƫvalueerd. Als dat het is true, wordt de hoofdtekstexpressie uitgevoerd en wordt de testexpressie opnieuw geƫvalueerd. De hoofdtekstexpressie moet het type unithebben. Als de testexpressie is false, eindigt de iteratie.

In het volgende voorbeeld ziet u het gebruik van de while...do expressie.

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

De uitvoer van de vorige code is een stroom willekeurige getallen tussen 1 en 20, waarvan de laatste 10 is.

13 19 8 18 16 2 10
Found a 10!

Notitie

U kunt in sequentie-expressies en andere rekenexpressies gebruiken while...do . In dat geval wordt een aangepaste versie van de while...do expressie gebruikt. Zie Reeksen, Asynchrone expressies, taakexpressies en rekenexpressies voor meer informatie.

Zie ook