Loopar: medan... do Expression
Uttrycket while...do
används för att utföra iterativ körning (looping) medan ett angivet testvillkor är sant.
Syntax
while test-expression do
body-expression
Kommentarer
Testuttrycket utvärderas. Om det är true
körs body-expression och testuttrycket utvärderas igen. Brödtextuttrycket måste ha typen unit
. Om testuttrycket är false
slutar iterationen.
I följande exempel visas hur uttrycket används 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
Utdata från den tidigare koden är en ström med slumpmässiga tal mellan 1 och 20, varav den sista är 10.
13 19 8 18 16 2 10
Found a 10!
Kommentar
Du kan använda while...do
i sekvensuttryck och andra beräkningsuttryck, i vilket fall en anpassad version av while...do
uttrycket används. Mer information finns i Sekvenser, Async-uttryck, Uppgiftsuttryck och Beräkningsuttryck.