Цикл Times
Часть раздела Основы путешествия по Ruby на Coddy — урок 44 из 88.
Ruby предлагает более элегантный способ повторения кода определенное количество раз. Цикл times — это подход в стиле 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 идеально подходит, когда вы точно знаете, сколько повторений вам нужно, и хотите получить чистый, читаемый код.
Задание
ЛегкоПрочитайте число 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Шпаргалка
Цикл times повторяет код заданное количество раз:
3.times do
puts "Hello!"
endЧтобы получить доступ к номеру текущей итерации (начиная с 0), используйте переменную между вертикальными чертами:
4.times do |i|
puts i
end
# Выводит: 0, 1, 2, 3Вы можете использовать переменную индекса в вычислениях:
3.times do |num|
puts "Iteration #{num + 1}"
end
# Выводит: Iteration 1, Iteration 2, Iteration 3Попробуйте сами
# Считать количество итераций
n = gets.to_i
# TODO: Напишите свой код ниже
# Используйте цикл times с его индексом, чтобы вывести таблицу умножения на 2
# Формат: 2 x [индекс] = [результат]В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
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Преобразование типовИтоги — Калькулятор возрастаИтоги — Истина или ложь