Создание кортежей
Объединяйте связанные значения.
«Создание кортежей» — бесплатный урок Scala for Backend Engineering & Functional Programming на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Scala for Backend Engineering & Functional Programming, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Scala for Backend Engineering & Functional Programming содержит 4 уроков всего.
Что такое кортеж?
Кортеж объединяет фиксированное количество значений, даже если эти значения имеют разные типы.
В отличие от списка, где все элементы имеют один тип, кортеж может одновременно содержать Int, String и Boolean.
Кортежи отлично подходят для возврата или объединения нескольких связанных значений без создания отдельного класса.
Создание первого кортежа
Кортеж создаётся заключением разделённых запятыми значений в круглые скобки.
Здесь мы объединяем имя и возраст. Scala автоматически определяет их типы.
val person = ("Alice", 30)
println(person)Свободное сочетание типов
Одна из лучших особенностей кортежей — возможность сочетать разные типы в одном значении.
Этот кортеж одновременно содержит String, Int и Boolean. Каждый элемент сохраняет собственный тип.
val record = ("Bob", 42, true)
println(record)Типы кортежей
Тип кортежа показывает тип каждого элемента в определённом порядке.
Пара из String и Int имеет тип (String, Int). При необходимости тип можно указать явно.
val pair: (String, Int) = ("Cara", 25)
println(pair)Пары встречаются часто
Кортеж ровно из двух элементов называется парой, и пары встречаются в Scala повсюду.
Например, словари строятся из пар «ключ—значение». Если сначала разобраться с парами, дальнейшее изучение языка станет проще.
val score = ("Math", 95)
println(score)Стрелочный синтаксис для пар
Для кортежей из двух элементов Scala предлагает удобный стрелочный синтаксис.
Запись key -> value полностью эквивалентна записи (key, value). Она хорошо читается, особенно при создании словарей.
val entry = "name" -> "Dana"
println(entry)Кортежи большего размера
Кортежи могут содержать больше двух или трёх значений.
Scala поддерживает кортежи максимум из 22 элементов, хотя небольшие кортежи читать проще. Если Вам нужно много полей, обычно понятнее использовать класс-поле.
val data = (1, 2, 3, 4, 5)
println(data)Примечание об одном элементе
Полезного кортежа из одного элемента не существует. Если заключить одно значение в скобки, Вы просто получите это значение обратно.
Так что (5) — это обычное число 5, а не кортеж. Кортежи начинаются с двух элементов.
val notATuple = (5)
println(notATuple)Кортежи неизменяемы
После создания кортежа его значения больше не меняются.
Благодаря неизменяемости кортежи безопасно передавать другим частям программы и легко анализировать. Чтобы получить другой кортеж, просто создайте новый.
val a = (1, "one")
val b = (2, "two")
println(a)
println(b)Возврат нескольких значений
Кортежи часто используют, чтобы функция могла сразу вернуть несколько значений.
Здесь функция возвращает сумму и произведение как один кортеж, поэтому отдельный класс не нужен.
def stats(a: Int, b: Int) = (a + b, a * b)
println(stats(3, 4))Вложенные кортежи
Поскольку кортеж — это обычное значение, один кортеж можно поместить внутрь другого.
Так можно объединять связанные пары. Не делайте вложенность слишком глубокой, чтобы код оставался понятным.
val nested = (("x", 1), ("y", 2))
println(nested)Быстрая проверка
Проверьте, что Вы узнали о создании кортежей.
Итоги
Вы узнали, что кортежи объединяют в круглых скобках фиксированное количество значений, возможно разных типов.
Для пар также можно использовать синтаксис key -> value; кортежи неизменяемы и отлично подходят для возврата нескольких значений. Далее Вы научитесь извлекать эти значения.
Часто задаваемые вопросы
Урок «Создание кортежей» бесплатный?
Да — полный текст урока «Создание кортежей» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 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 структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Создание кортежей»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Scala for Backend Engineering & Functional Programming?
Да. Каждый урок Scala for Backend Engineering & Functional Programming включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Создание кортежей
- Деструктуризация кортежей
- Создание диапазонов
- Диапазоны в циклах