Loops: expressão while...do
A expressão while...do
é usada para uma execução iterativa (loop) enquanto uma condição de teste especificada é verdadeira.
Sintaxe
while test-expression do
body-expression
Comentários
A expressão de teste é avaliada. Se ela for true
, a expressão de corpo será executada e a expressão de teste será avaliada novamente. A expressão do corpo precisa ter o tipo unit
. Se a expressão de teste for false
, a iteração será encerrada.
O exemplo a seguir ilustra o uso da função 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
A saída do código anterior é um fluxo de números aleatórios entre 1 e 20, sendo o último deles 10.
13 19 8 18 16 2 10
Found a 10!
Observação
Você pode usar while...do
em expressões de sequência e em outras expressões de computação, nesse caso, uma versão personalizada da expressão while...do
é usada. Para obter mais informações, consulte Sequências, Expressões assíncronas, Expressões de tarefa e Expressões de computação.