Оператор управления потоком для цикла
Синтаксис
While [condition]
[statement block]
Wend
Описание
Оператор
While вызовет следующий набор операторов в
statement block
, и выполнит их столько раз, пока выражение
condition оценивается как
истина.
Если
condition оценивается как ложное, тогда оператор
While
выполняется сначала, а
statement block пропускается и
выполнение возобновляется сразу после закрывающего
Wend.
Если оператор
Exit While
встречается внутри
statement block, цикл прекращается, а выполнение
возобновляется сразу после закрывающего
Wend. Если оператор
Continue While
встречается, остальная часть
statement block пропускается ,
а выполнение переходит к оператору
While.
Как и все операторы управления потоков, оператор
While
может быть вложенным, то есть, он может быть использован в другом блоке
оператора
While.
примечание: Ключевое слово While также используется в
операторе Do...Loop , чтобы указать
тип сравнения. Используемое в этом случае заявление Do
становится функционально эквивалентно оператору While, но не
путайте их слова-окончания Loop и Wend при
использовании.
Пример
В этом примере, цикл
While используется для реверса строки,
путем итерации в обратном направлении. Цикл останавливается, если индекс
меньше
0 (0 будучи первым в индексе в строке).
Dim As String sentence '' реверс
строки
sentence = "The quick brown fox jumps over the lazy dog."
Dim As String ecnetnes
Dim As Integer index
index = Len( sentence ) - 1 '' указываем
последний символ
While( index >= 0 ) '' остановка
после первого символа
ecnetnes += Chr( sentence[index] ) '' добавить
символ к новой строке
index -= 1
Wend
Print "original: """ ; sentence ; """"
Print "reversed: """ ; ecnetnes ; """"
End 0
Различия диалектов
- В -lang qb и -lang fblite
диалектах, переменные, объявленные внутри WHILE..WEND цикла, имеют
расширенную функцию scope как в QB
- В -lang fb и -lang deprecated
диалектах, переменные, объявленные внутри блока While..Wend
видны только внутри блока и не могут использоваться вне его.
Отличия от QB
См. также