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 unit
hebben. 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.