| Раздел: CronosPRO | Дата редакции: 11.07.2013 | id статьи: 1524 |
Цикл с предусловием (while) в Lua
Оператор while предназначен для организации циклов с предусловием и имеет следующий вид:
while <condition> do … -- тело цикла end
Перед каждой итерацией цикла проверяется условие <condition>:
- если условие ложно, цикл завершается и управление передаётся первому оператору, следующему за оператором while;
- если условие истинно, выполняется тело цикла, после чего все действия повторяются.
i = 10; t = {} while i > 0 do -- цикл от 10 до 1 t[i] = "поле "..i i = i - 1 end
Для выхода из цикла до его завершения можно использовать оператор break.
a = {3, 5, 8, -6, 5} i = #a while i > 0 do -- ищем в массиве отрицательное значение if a[i] < 0 then break end -- если найдено, прерываем цикл i = i - 1 -- иначе переходим к следующему элементу end if i > 0 then MsgBox ("Индекс отрицательного значения: "..i) else MsgBox ("Массив не содержит отрицательных значений") end
Примечание
- Подробнее об особенностях использования оператора break — в статье «Операторы break и return» (id: 1527).
