Lua/Конструкции языка: различия между версиями

Содержимое удалено Содержимое добавлено
Нет описания правки
Метка: редактор вики-текста 2017
Строка 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
 
{{Нижняя автоматическая навигация|Предыдущая глава=Типы данных}}