Циклы: выражение while...do
Выражение while...do
используется для выполнения итеративного выполнения (циклирования) в то время как указанное условие теста имеет значение true.
Синтаксис
while test-expression do
body-expression
Замечания
Выражение теста вычисляется; если оно true
имеет значение, выполняется выражение тела и выражение теста вычисляется снова. Выражение текста должно иметь тип 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
выражения. Дополнительные сведения см. в разделе "Последовательности", "Асинхронные выражения", "Выражения задач" и "Вычисления".