Scala for Backend Engineering & Functional Programming · Урок

Диапазоны в циклах

Перебирайте значения с помощью to и until.

Урок 4 из 413 шагов

«Диапазоны в циклах» — бесплатный урок 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 — локальная установка не требуется.

Все уроки этого курса

  1. Создание кортежей
  2. Деструктуризация кортежей
  3. Создание диапазонов
  4. Диапазоны в циклах
← Назад к Scala for Backend Engineering & Functional Programming