Диапазоны в циклах
Перебирайте значения с помощью to и until.
«Диапазоны в циклах» — бесплатный урок Scala for Backend Engineering & Functional Programming на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Scala for Backend Engineering & Functional Programming, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Scala for Backend Engineering & Functional Programming содержит 4 уроков всего.
Циклы с диапазонами
Диапазоны и циклы прекрасно сочетаются. Диапазон предоставляет удобную последовательность чисел для перебора.
В этом уроке показано, как управлять циклами for, фильтровать значения и создавать результаты с помощью диапазонов.
Базовый цикл for
Классический цикл со счётчиком использует диапазон вместе с for.
Переменная i по очереди принимает каждое значение диапазона. Здесь числа от 1 до 5 выводятся в отдельных строках.
for (i <- 1 to 5) println(i)Использование until в циклах
При обращении к позициям массива и другим индексам until часто оказывается подходящим выбором.
Он останавливается на единицу раньше границы, что идеально соответствует индексации с нуля.
for (i <- 0 until 3) println(s"index $i")Изменение шага в цикле
Сочетайте by с циклом, чтобы пропускать значения.
Так можно вывести чётные числа от 0 до 10, переходя каждый раз на два.
for (i <- 0 to 10 by 2) println(i)Обратный счёт
Отрицательный шаг заставляет цикл выполняться в обратном порядке.
Это самый простой способ считать вниз — здесь от 3 до 1.
for (i <- 3 to 1 by -1) println(i)Накопление суммы
Циклы по диапазонам отлично подходят для накопления итоговых значений.
Здесь мы добавляем каждое число от 1 до 5 к текущей сумме с помощью изменяемой переменной.
var total = 0
for (i <- 1 to 5) total += i
println(total)Фильтрация с условием
Цикл for может содержать защитное условие — условие if, которое пропускает нежелательные значения.
Здесь защитное условие пропускает и выводит только чётные числа.
for (i <- 1 to 10 if i % 2 == 0) println(i)Создание списков с помощью цикла for
Добавьте yield, чтобы превратить цикл в выражение, создающее новую коллекцию.
В результате получается последовательность квадратов, а не выводится какой-либо текст.
val squares = for (i <- 1 to 5) yield i * i
println(squares.toList)Вложенные циклы
В одном for можно указать два диапазона, чтобы создать вложенные циклы.
Так каждая строка сопоставляется с каждым столбцом, и выводятся все комбинации из небольшой таблицы.
for (r <- 1 to 2; c <- 1 to 2) println(s"($r,$c)")Цикл с foreach
Диапазоны также поддерживают foreach как альтернативу for.
Он запускает функцию для каждого элемента. Многие разработчики на Scala предпочитают for за его читаемость, но работают оба варианта.
(1 to 3).foreach(i => println(i))Индексация коллекции
Распространённый приём — использовать indices, чтобы проходить коллекцию по позициям.
Диапазон indices соответствует допустимым позициям списка, поэтому каждый индекс безопасно использовать.
val names = List("Ann", "Ben", "Cy")
for (i <- names.indices) println(s"$i: ${names(i)}")Быстрая проверка
Проверьте, что Вы узнали о диапазонах в циклах.
Итоги
Диапазоны лежат в основе циклов: используйте for (i <- a to b) для перебора, by для задания шага, отрицательный шаг для обратного отсчёта, а защитное условие — для фильтрации.
Добавляйте yield, чтобы создавать новую коллекцию, вкладывайте диапазоны для построения таблиц и используйте indices, чтобы проходить коллекцию по позициям. Вы завершили курс.
Изучай Scala с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 39
- Уроки
- 143
Часто задаваемые вопросы
Урок «Диапазоны в циклах» бесплатный?
Да — полный текст урока «Диапазоны в циклах» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Scala for Backend Engineering & Functional Programming, подпишись на CoddyKit PRO. Курс Scala for Backend Engineering & Functional Programming содержит 4 уроков всего.
Чему я научусь в уроке «Диапазоны в циклах»?
Перебирайте значения с помощью to и until. Ты практикуешь Scala for Backend Engineering & Functional Programming с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Scala for Backend Engineering & Functional Programming?
Предыдущий опыт не требуется. Scala for Backend Engineering & Functional Programming на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Диапазоны в циклах»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Scala for Backend Engineering & Functional Programming?
Да. Каждый урок Scala for Backend Engineering & Functional Programming включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Создание кортежей
- Деструктуризация кортежей
- Создание диапазонов
- Диапазоны в циклах