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

Создание диапазонов

Генерируйте последовательности чисел.

«Создание диапазонов» — бесплатный урок Scala for Backend Engineering & Functional Programming на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Scala for Backend Engineering & Functional Programming, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Scala for Backend Engineering & Functional Programming содержит 4 уроков всего.

Что такое диапазон?

Диапазон представляет собой упорядоченную последовательность целых чисел с одинаковым интервалом, например 1, 2, 3, 4, 5.

Диапазоны экономят память, поскольку хранят только начало, конец и шаг, а не каждое число. Они идеально подходят для подсчёта и циклов.

Ключевое слово to

Простейший диапазон создаётся с помощью to, включающего обе границы.

Так, 1 to 5 охватывает 1, 2, 3, 4 и 5. Последнее число входит в диапазон.

val r = 1 to 5
println(r)

Включающие диапазоны

Диапазон с to называется включающим, потому что содержит верхнюю границу.

Чтобы увидеть сами числа, а не компактное описание, можно преобразовать диапазон в список.

val r = 1 to 5
println(r.toList)

Ключевое слово until

Используйте until, если нужно остановиться непосредственно перед верхней границей.

Так, 1 until 5 даёт 1, 2, 3, 4 и не включает 5. Конечное значение исключается.

val r = 1 until 5
println(r.toList)

to и until

Различие только в последнем числе. to включает конец, а until исключает его.

В 1 to 5 пять элементов, а в 1 until 5 — четыре. Правильный выбор помогает избежать ошибок на единицу.

println((1 to 5).toList)
println((1 until 5).toList)

Изменение шага с помощью by

По умолчанию диапазон увеличивается на единицу. Добавьте by, чтобы изменить размер шага.

Здесь мы считаем от 0 до 10 с шагом 2 и получаем чётные числа.

val evens = 0 to 10 by 2
println(evens.toList)

Обратный отсчёт

Отрицательный шаг позволяет диапазону двигаться в обратном направлении.

С by -1 диапазон начинается с большего числа и уменьшается. Это стандартный способ перебора в обратном порядке.

val down = 5 to 1 by -1
println(down.toList)

Размер диапазона

С помощью size можно узнать, сколько элементов содержит диапазон.

Размер вычисляется мгновенно по границам и шагу, без перечисления всех чисел.

val r = 0 to 20 by 5
println(r.size)

Проверка принадлежности

Метод contains сообщает, входит ли значение в диапазон.

При этом учитывается и шаг: например, 3 не входит в диапазон чётных чисел с шагом 2.

val evens = 0 to 10 by 2
println(evens.contains(4))
println(evens.contains(3))

Диапазоны — это коллекции

Диапазон ведёт себя как любая другая последовательность, поэтому по нему можно выполнить map или посчитать сумму.

Здесь мы возводим каждое число в квадрат и складываем результаты, не создавая заранее отдельный список.

val total = (1 to 4).map(n => n * n).sum
println(total)

Пустые диапазоны

Если начало уже находится за концом, диапазон просто становится пустым.

Например, 5 until 5 ничего не содержит. Пустые диапазоны допустимы и при переборе не дают ни одного элемента.

val r = 5 until 5
println(r.isEmpty)

Быстрая проверка

Проверьте, что Вы узнали о создании диапазонов.

Итоги

Диапазоны создаются с помощью to (включает конец) и until (исключает конец), шаг изменяется с помощью by, а отрицательный шаг задаёт обратный отсчёт.

Диапазоны — компактные коллекции, поддерживающие size, contains и map. Далее Вы будете использовать их для управления циклами.

Часто задаваемые вопросы

Урок «Создание диапазонов» бесплатный?

Да — полный текст урока «Создание диапазонов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Scala for Backend Engineering & Functional Programming, подпишись на CoddyKit PRO. Курс Scala for Backend Engineering & Functional Programming содержит 4 уроков всего.

Чему я научусь в уроке «Создание диапазонов»?

Генерируйте последовательности чисел. Ты практикуешь Scala for Backend Engineering & Functional Programming с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Scala for Backend Engineering & Functional Programming?

Предыдущий опыт не требуется. Scala for Backend Engineering & Functional Programming на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 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