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