Поделиться через


Циклы: выражение while...do (F#)

Выражение while...do используется для выполнения итерации (в цикле), пока заданное проверяемое условие истинно.

while test-expression do
   body-expression

Заметки

Проверяется истинность условия test-expression. Если результат проверки — значение true, выполняется выражение body-expression и снова проверяется истинность условия. Выражение body-expression должно иметь тип unit. Если результат проверки истинности условия — значение false, итерация заканчивается.

В следующем примере демонстрируется использование выражения 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

Выходные данные приведенного выше кода — серия случайных чисел от 1 до 20, последнее из которых — 10.

13 19 8 18 16 2 10
Found a 10!

Примечание

Конструкцию while...do можно использовать в выражениях последовательности и других вычислительных выражениях, при этом используется настроенная версия конструкции while...do.Дополнительные сведения см. в разделах Последовательности (F#), Асинхронные рабочие потоки (F#) и Выражения вычисления (F#).

См. также

Ссылки

Циклы: выражение for...in (F#)

Циклы. Выражение for...to (F#)

Другие ресурсы

Справочник по языку F#