Оператор 'break'
Часть раздела Основы путешествия по Lua на Coddy. Урок 75 из 90.
Иногда вам нужно выйти из цикла до того, как он завершится естественным образом. Оператор break дает вам такую возможность — он немедленно останавливает текущий цикл и переходит к коду, который следует за end цикла.
Вот как break работает в простом примере:
for i = 1, 10 do
if i == 5 then
break
end
print(i)
end
print("Loop finished!")Этот цикл обычно выводил бы числа от 1 до 10, но оператор break останавливает его, когда i равно 5. Таким образом, он выводит только 1, 2, 3, 4, а затем сразу переходит к «Loop finished!»
Задание
ЛегкоСоздайте систему поиска сокровищ, которая использует цикл for с оператором break для поиска в серии сундуков с сокровищами. Начните с создания переменной с именем targetTreasure и присвойте ей значение 7.
Напишите цикл for, который просматривает сундуки с сокровищами под номерами от 1 до 10. Внутри цикла выведите сообщение "Searching chest: ", за которым следует текущий номер сундука. Затем проверьте, равен ли текущий номер сундука значению targetTreasure. Если он совпадает, выведите "Treasure found!" и используйте оператор break, чтобы немедленно выйти из цикла.
После завершения цикла (естественным образом или из-за break) выведите "Search complete", чтобы указать, что сеанс поиска сокровищ окончен.
Попробуйте сами
-- Установите целевое сокровище
local targetTreasure = 7
-- TODO: Напишите ваш код здесь
-- Создайте цикл for, который ищет в сундуках с 1 по 10
-- Выведите "Searching chest: ", а затем номер сундука
-- Проверьте, равен ли номер сундука targetTreasure
-- Если найдено, выведите "Treasure found!" и прервите цикл
-- После цикла выведите "Search complete"В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
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'Повторение — Обратный отсчётПотренируйтесь самостоятельно: Онлайн-компилятор Lua