Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Выражение 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 выражения. Дополнительные сведения см. в разделе "Последовательности", "Асинхронные выражения", "Выражения задач" и "Вычисления".