While (Lua): различия между версиями
Tatikoma (обсуждение | вклад) (Новая страница: «== Описание == '''while''' - оператор цикла. Создает цикл, который выполняется до того момента, п...») |
(нет различий)
|
Версия 21:47, 27 августа 2019
Содержание
Описание
while - оператор цикла. Создает цикл, который выполняется до того момента, пока условие является истиной. Выполняет операцию сравнения, а так же проверку цвета пикселя и последнего сообщения от сервера (для ultima online). <br>Для отрицания сравнения используется while (not ()). <br>Для выхода из цикла используются оператор break. <br>Для операций сравнения используются знаки операций: >, <, ==(равно), <=, >=, ~=(не равно). Так же используются логические операторы or и and:
- or - логическое ИЛИ. Или один или другой или оба.
- and - логическое И. И один и другой.
Для указания приоритета нескольких операций используются круглые скобки: (, ). <br>В конце операции необходимо поставить end для корректного выполнения сценария.
Синтаксис
Привязка к окну: опционально. <br>Работа со свернутым окном: частично.
while условие do
блок
end
while (not(условие)) do
блок
end
Примеры
--lua
local i = 2
while i ~= 1 do
i = i * 2
msg (i)
end
-- Результатом работы является умножение значения переменной i на два, каждый раз, до того момента,
-- пока значение переменной i не станет равной единице, т.е. бесконечно.
--lua
-- Бесконечный цикл
-- Здесь сделаем подготовку
local count = 1
msg ("На счетчике число: " .. count .. ", будем увеличивать...")
-- А теперь зацикленная часть скрипта
while 1 == 1 do -- условие всегда будет выполняться, а значит цикл - бесконечный
count = count + 1 -- увеличим значение на 1
msg ("Теперь на счётчике число: " .. count)
end
--lua
-- Выход из цикла через break
local count = 0
while true do -- пока истина, т. е. бесконечно, тоже самое что while 1 == 1 do
count = count + 1 -- увеличим значение на 1
msg ("Теперь на счётчике число: " .. count)
if count == 3 then -- если переменная 'count' = 3
break -- выходим из цикла
end
end
msg ("Вышли из цикла")
--lua
local a = 1
while (not (a == 4)) do -- пока переменная 'a' не равна 4, тоже самое что: while a ~= 4 do
log (a)
a = a + 1 -- увеличим значение на 1
end
log (a)
log ("Вышли из цикла")
Смотрите также
For (Lua) <br>Repeat (Lua) <br>Break (Lua)