Menu
Coddy logo textTech

Цикл Times

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

Ruby предлагает более элегантный способ повторить код определённое количество раз. times loop — это подход в стиле Ruby, который читается почти как английский язык.

Вместо создания диапазона просто вызови times для числа:

3.times do
  puts "Hello!"
end

Это выводит "Hello!" три раза. Код внутри блока do...end выполняется ровно 3 раза. Это чище, чем писать for i in 1..3, когда вам не нужна переменная-счётчик.

Но что, если вам действительно нужно знать, на какой итерации вы находитесь? Цикл times может предоставить индекс, начинающийся с 0:

4.times do |i|
  puts i
end
# Выводит: 0, 1, 2, 3

Переменная i между вертикальными чертами |i| получает текущий номер итерации. Обратите внимание: отсчёт начинается с 0, а не с 1. Это полезно, когда вам нужны и повторение, и счётчик:

3.times do |num|
  puts "Iteration #{num + 1}"
end
# Выводит: Iteration 1, Iteration 2, Iteration 3

Цикл times идеально подходит, когда вы точно знаете, сколько повторений вам нужно, и хотите получить чистый, легко читаемый код.

challenge icon

Задание

Легко

Считайте из ввода число n. Используйте цикл times с его индексом, чтобы вывести таблицу умножения для числа 2, показывая произведения от 2 x 0 до 2 x (n-1).

Каждая строка должна соответствовать формату: 2 x [index] = [result]

Ввод будет содержать одно целое число, обозначающее, сколько раз должен выполниться цикл.

Например, если ввод равен 4, вывод должен быть таким:

2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6

Если ввод равен 6, вывод должен быть таким:

2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10

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

# Считать количество итераций
n = gets.to_i

# TODO: Напишите ваш код ниже
# Используйте цикл times с его индексом, чтобы вывести таблицу умножения для 2
# Формат: 2 x [index] = [result]
quiz iconПроверьте себя

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

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

Потренируйтесь самостоятельно: Онлайн-компилятор Ruby