Оператор 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.
Задание
ЛегкоПрочитайте два целых числа из входных данных:
limit, представляющее верхнюю границу диапазона, начинающегося с 1target— число, которое нужно найти
Пройдите в цикле по числам от 1 до limit. Выводите каждое число на новой строке. Когда вы достигнете target, выведите Found! вместо числа и немедленно остановите цикл, используя break.
Если целевое число находится внутри диапазона, цикл должен завершиться досрочно. Если целевое число больше лимита, будут выведены все числа от 1 до лимита.
Например, если входные данные — 10 и 4, вывод должен быть следующим:
1
2
3
Found!Если входные данные — 5 и 8, вывод должен быть следующим:
1
2
3
4
5Шпаргалка
Ключевое слово 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 работает с любым типом цикла, включая циклы while:
count = 0
while true
count += 1
if count > 3
break
end
puts count
endЭто выведет 1, 2, 3 и затем остановится, даже если условие — true.
Попробуйте сами
# Считать ввод
limit = gets.to_i
target = gets.to_i
# TODO: Напишите свой код ниже
# Цикл по числам от 1 до limit
# Вывести каждое число на отдельной строке
# Когда дойдете до target, выведите "Found!" и прервите циклВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
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Преобразование типовИтоги — Калькулятор возрастаИтоги — Истина или ложь