Цикл 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 идеально подходит, когда вы точно знаете, сколько повторений вам нужно, и хотите получить чистый, легко читаемый код.
Задание
ЛегкоСчитайте из ввода число 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]В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
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Преобразование типовИтоги — Калькулятор возрастаИтоги — Истина или ложьПотренируйтесь самостоятельно: Онлайн-компилятор Ruby