Menu
Coddy logo textTech

Оператор Next

Часть раздела Основы путешествия по Ruby на Coddy — урок 42 из 88.

В то время как break полностью выходит из цикла, иногда вам просто нужно пропустить текущую итерацию и перейти к следующей. Ключевое слово next делает именно это.

Когда Ruby встречает next, он немедленно переходит к следующей итерации цикла, пропуская весь оставшийся код в текущей итерации:

for i in 1..5
  if i == 3
    next
  end
  puts i
end

Это выведет 1, 2, 4, 5. Когда i равно 3, ключевое слово next пропускает инструкцию puts и переходит непосредственно к следующей итерации, где i становится равным 4.

Распространенный вариант использования — фильтрация нежелательных значений. Например, вывод только четных чисел:

for num in 1..6
  if num % 2 != 0
    next
  end
  puts num
end
# Вывод: 2, 4, 6

Нечетные числа пропускаются, и выводятся только четные числа. Представьте, что next говорит «пропусти это и продолжай», в то время как break говорит «останови всё».

challenge icon

Задание

Легко

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

  1. Число start
  2. Число end

Пройдите циклом по числам от start до end. Выведите только те числа, которые не делятся на 3. Используйте next, чтобы пропускать числа, которые делятся на 3.

Каждое число должно быть выведено на отдельной строке.

Например, если входные данные — 1 и 10, результат должен быть следующим:

1
2
4
5
7
8
10

Если входные данные — 5 и 9, результат должен быть следующим:

5
7
8

Шпаргалка

Ключевое слово next пропускает текущую итерацию цикла и переходит к следующей:

for i in 1..5
  if i == 3
    next
  end
  puts i
end
# Вывод: 1, 2, 4, 5

Используйте next для фильтрации значений. Например, для вывода только четных чисел:

for num in 1..6
  if num % 2 != 0
    next
  end
  puts num
end
# Вывод: 2, 4, 6

next пропускает текущую итерацию и продолжает цикл, в то время как break полностью выходит из цикла.

Попробуйте сами

# Чтение входных данных
start = gets.chomp.to_i
end_num = gets.chomp.to_i

# TODO: Напишите ваш код ниже
# Цикл по числам от start до end_num
# Используйте next, чтобы пропустить числа, делящиеся на 3
# Выведите числа, которые НЕ делятся на 3
quiz iconПроверьте себя

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

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