Оператор Break
Часть раздела Основы путешествия по Ruby на Coddy. Урок 41 из 88.
Иногда нужно досрочно выйти из цикла, прежде чем он завершится естественным образом. Ключевое слово break позволяет немедленно остановить цикл и продолжить выполнение кода после него.
Представьте, что вы ищете определённое число. Как только вы его найдёте, нет смысла продолжать проверять остальные:
for i in 1..10
if i == 5
puts "Found it!"
break
end
puts i
end
puts "Loop ended"Это выводит 1, 2, 3, 4, затем «Found it!», а в конце — «Loop ended». Когда i достигает 5, выполняется break, и цикл немедленно останавливается. Числа от 6 до 10 никогда не обрабатываются.
Ключевое слово break работает с любым типом цикла. Вот пример с циклом while:
count = 0
while true
count += 1
if count > 3
break
end
puts count
endЭто выводит 1, 2, 3. Хотя условие равно true (что обычно привело бы к бесконечному циклу), break останавливает цикл, когда значение count превышает 3.
Задание
ЛегкоПрочитайте два целых числа из input:
limit, обозначающее верхнюю границу диапазона, начинающегося с 1- число
target, которое нужно найти
Перебирайте numbers от 1 до limit. Выводите каждое число в отдельной строке. Когда вы достигнете target, выведите Found! вместо числа и немедленно остановите цикл с помощью break.
Если target находится в пределах диапазона, цикл должен завершиться досрочно. Если target больше limit, будут выведены все числа от 1 до limit.
Например, если input равен 10 и 4, результатом должен быть:
1
2
3
Found!Если input равен 5 и 8, результатом должен быть:
1
2
3
4
5Попробуйте сами
# Прочитать ввод
limit = gets.to_i
target = gets.to_i
# TODO: Напишите ваш код ниже
# Пройти циклом по числам от 1 до limit
# Вывести каждое число на своей строке
# Когда достигнете target, выведите точный текст из инструкций и выйдите из циклаВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 3Логические операторы. Часть 47Калькулятор разделения счета
Приветственное сообщениеПолучение пользовательского ввода13Продвинутая работа с массивами
Срезы массивов через диапазоныСрезы массивов через индексыОператоры массивовМетод include?2Переменные и типы данных
Числа и переменныеСтроковый тип данныхЛогический тип данныхТип данных SymbolПроверка типов данныхПравила именованияПовторение: создание переменных5Принятие решений
Оператор IfКонструкция If - ElseПовторение — Простой калькуляторВложенные конструкции If - ElseОператор Unless8Циклы
Цикл For с диапазонамиЦикл WhileОператор BreakОператор NextПовторение: ФакториалЦикл TimesЦикл UntilВложенные циклыПовторение: Динамический ввод3Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСокращенная арифметикаИтоги: простая математикаОператоры сравнения6Основы ввода-вывода
Вывод с помощью putsВывод с помощью print и pВывод с переменнымиВвод с помощью getsМетод chompПреобразование типовИтоги — Калькулятор возрастаИтоги — Истина или ложьПотренируйтесь самостоятельно: Онлайн-компилятор Ruby