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.

Confira também