Числовой цикл for
Часть раздела Fundamentals путешествия по Lua на Coddy — урок 73 из 90.
Когда вам нужно повторить код определенное количество раз, числовой цикл for — ваш лучший выбор. В отличие от циклов while и repeat-until, которые зависят от меняющихся условий, числовой цикл for автоматически управляет подсчетом за вас.
Базовый синтаксис выглядит следующим образом:
for variable = start, finish do
-- код для повторения
endВот простой пример, который выводит числа 1, 2 и 3:
for i = 1, 3 do
print(i)
endЦикл создает переменную i, которая начинается с 1 и автоматически увеличивается на 1 при каждом проходе цикла. Когда i достигает 3, цикл выполняется в последний раз и затем останавливается.
Вам не нужно вручную обновлять переменную counter — Lua делает это автоматически.
Это делает числовые циклы for идеальными для ситуаций, когда вы точно знаете, сколько раз должно произойти определенное действие, например, для многократного вывода сообщения, обработки каждого элемента в списке или перебора диапазона чисел.
Задание
ЛегкоСоздайте трекер тренировок, который использует числовой цикл for для симуляции нескольких повторений упражнения. Напишите цикл for, который выполняется от 1 до 5, представляя 5 тренировочных раундов.
Внутри цикла выведите сообщение "Training round: ", за которым следует номер текущего раунда. Это поможет вам попрактиковаться в синтаксисе базового числового цикла for и понять, как переменная цикла увеличивается автоматически.
Шпаргалка
Числовой цикл for повторяет код определенное количество раз с автоматическим подсчетом:
for variable = start, finish do
-- код для повторения
endПример, который выводит числа 1, 2 и 3:
for i = 1, 3 do
print(i)
endПеременная цикла автоматически начинается со значения start и увеличивается на 1 на каждой итерации, пока не достигнет значения finish.
Попробуйте сами
-- TODO: Напишите свой код здесь
-- Используйте цикл for для итерации от 1 до 5
-- Выведите "Training round: ", а затем номер раунда для каждой итерацииВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Fundamentals
4Операторы 2: Сравнение и логика
Операторы равенстваОператоры сравненияОператор 'and'Оператор 'or'Оператор 'not'Сокращенные вычисленияЗначения Truthy и FalsyИтоги: Простая логика7Основы условной логики
Оператор if-thenОператор if-then-elseОператор elseifИтоги — Сундук с сокровищами10Таблицы, часть 1: Списки
Что такое таблица?Создание таблицыДоступ к элементам по индексуИзменение элементов по индексуОператор длины '#'table.insert()table.remove()Итоги: управление участниками группы13Проект: Простой магазин зелий
Настройка проектаДобавление зелья2Переменные и типы данных
Что такое переменная?ЧислаСтрокиБулевы значенияЗначение 'nil'Функция type()Правила именованияИтоги — Профиль персонажа5Базовый вывод
Вывод литераловВывод переменныхВывод нескольких значенийОбъединение строк и переменныхФункция tostring()ВводПриведение типовПовторение — Отчет о состоянииПовторение — До 1208Основы работы со строками
string.len()string.upper и string.lowerstring.sub()string.rep()string.find()Повторение — Форматирование имени пользователя3Операторы 1: Арифметика и конкатенация
Арифметические операторыОператор остатка от деленияОператор возведения в степеньКонкатенация строкПриоритет операторовПовторение: Простые вычисления6Проект: Вывод характеристик персонажа
Приветственное сообщениеОбъявление характеристик персонажа9Основы функций
Объявление функцииВызов функцииФункции с параметрамиФункции с несколькими параметрамиОператор 'return'Повторение — Калькулятор площади12Основы циклов
Цикл whileЦикл repeat-untilЧисловой цикл forЦикл for с шагомОператор 'break'Повторение — Обратный отсчёт