CSS властивості
ГлавнаяLuaЦикл while в LUA

Цикл while в LUA

206

На відміну від циклу for, який встановлює задану кількість кроків, цикл while виконується до тих пір, поки істинно задану логічну умову. У випадку цикл записується так.

<code>while <умова> do--щось робимо end</умова>

Спочатку перевіряється умова, якщо вона істинна, то виконується тіло циклу. Перед end умова перевіряється ще раз і якщо вона раніше істинно, то цикл повторюється. Інакше цикл завершується.

Легко отримати нескінченний цикл, якщо всередині циклу не змінювати значення змінних, що використовуються в умові.

<code>i=5; while i <10 do print ("Вічність"); end

У прикладі вище i завжди буде менше 10, оскільки його значення ніяк не змінюється всередині циклу, через що цикл ніколи не завершиться. Зверніть увагу, що це логічна помилка, але ніяк не помилка з точки зору компілятора. Коректний приклад наведено нижче.

<code>i=5; while i <=10 do print (i); i=i + 0.5; end

Тут всередині циклу значення змінної i збільшується на 0.5, а в умові йде перевірка, що i менше або дорівнює 10. Будуть виведені цифри 5, 5.5, 6, 6.5 і так до 10 включно .