Espressione Loops: while...do
L'espressione while...do
viene usata per eseguire l'esecuzione iterativa (ciclo) mentre una condizione di test specificata è true.
Sintassi
while test-expression do
body-expression
Osservazioni:
L'espressione test viene valutata; se è true
, viene eseguita l'espressione del corpo e l'espressione di test viene valutata di nuovo. L'espressione del corpo deve avere il tipo unit
. Se l'espressione di test è false
, l'iterazione termina.
Nell'esempio seguente viene illustrato l'uso dell'espressione 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
L'output del codice precedente è un flusso di numeri casuali compresi tra 1 e 20, l'ultimo dei quali è 10.
13 19 8 18 16 2 10
Found a 10!
Nota
È possibile usare while...do
nelle espressioni di sequenza e in altre espressioni di calcolo, nel qual caso viene usata una versione personalizzata dell'espressione while...do
. Per altre informazioni, vedere Sequenze, espressioni asincrone, espressioni task ed espressioni di calcolo.