Menu
Coddy logo textTech

Оператор 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.

challenge icon

Задание

Легко

Прочитайте два целых числа из входных данных:

  1. limit, представляющее верхнюю границу диапазона, начинающегося с 1
  2. target — число, которое нужно найти

Пройдите в цикле по числам от 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!" и прервите цикл
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы