Lua/Конструкции языка: различия между версиями
Содержимое удалено Содержимое добавлено
Kylaix (обсуждение | вклад) Нет описания правки Метка: редактор вики-текста 2017 |
Kylaix (обсуждение | вклад) |
||
Строка 57:
== Циклы ==
Циклы часто оказываются незаменимыми в случаях, когда нужно повторять некоторый блок кода несколько раз. Итераторы, которые мы рассмотрели ранее, является частным случаем циклов: итератор "обходит" массив (работает последовательно с каждым его элементом) и во многих языках является сокращенной формой для цикла.
Цикл работает по достаточно простому принципу: операции выполняются из раза в раз, пока условие не станет ложным. С точки зрения логических операций, цикл выполняется, когда условие является true и прекращается, когда false.
=== while ===
Первый представитель - цикл while. Его можно интерпретировать как "Пока условие истинное делать (инструкции) закончить"<syntaxhighlight lang="lua">
i = 0
while true do
print("Манул",i) --> Манул + число проходок цикла
i = i + 1 --> число проходок
end
</syntaxhighlight>Данный цикл будет выполняться бесконечно долго, так как условие всегда будет истинным (у нас стоит true, но вместо этого может быть любое другое условие)
=== repeat-until ===
Второй представитель - repeat-until. Он пытается выполнить заданный код (который должен находится в блоке repeat), пока условие не станет истинным:<syntaxhighlight lang="lua">
-- Считаем манулов
manul = 0 --> сначала было 0 манулов
repeat
manul = manul + 1 --> начинаем считать манулов по одному
until manul == 1000 --> если мануов стало 1000 - закончить цикл
print(manul) --> 1000
</syntaxhighlight>
=== for ===
Мы ранее рассматривали for как итератор - его называют общим for. Мы же сейчас рассматриваем числовой for
{{Нижняя автоматическая навигация|Предыдущая глава=Типы данных}}
|