Menu
CoddyTech

Кортежи

Часть раздела Основы путешествия по Swift на Coddy. Урок 68 из 86.

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

Кортеж — это фиксированная коллекция значений, которые могут иметь разные типы. Чтобы создать кортеж, помести значения в круглые скобки, разделив их запятыми:

let person = ("Alice", 25, true)
print(person)  // ("Alice", 25, true)

Чтобы получить доступ к отдельным значениям, используйте их индекс после точки:

let coordinates = (10.5, 20.3)
print(coordinates.0)  // 10.5
print(coordinates.1)  // 20.3

Для лучшей читаемости элементам также можно присвоить имена:

let product = (name: "Laptop", price: 999.99)
print(product.name)   // Laptop
print(product.price)  // 999.99

Ещё одна полезная возможность — разложить кортеж на отдельные переменные:

let point = (3, 7)
let (x, y) = point
print(x)  // 3
print(y)  // 7

Кортежи отлично подходят для возврата нескольких значений из функции или группировки небольшого количества связанных данных без создания полноценной структуры.

challenge icon

Задание

Легко

Вы получите три строки входных данных:

  1. Имя (String)
  2. Возраст (Int)
  3. Оценка (Double)

Создайте кортеж с именем student с именованными элементами: name, age и score.

Затем разложите кортеж на три отдельные переменные: studentName, studentAge и studentScore.

Выведите следующие три строки:

  1. Имя ученика, полученное с помощью именованного элемента
  2. Возраст ученика, полученный с помощью индекса (точечной нотации с числом)
  3. Переменная с разложенной оценкой

Пример: Если входные данные — Emma, 21 и 95.5, вывод должен быть таким:

Emma
21
95.5

Попробуйте сами

// Считайте ввод
let name = readLine()!
let age = Int(readLine()!)!
let score = Double(readLine()!)!

// TODO: Напишите свой код ниже
// 1. Создайте кортеж с именем 'student' и именованными элементами: name, age и score
// 2. Разложите кортеж на три отдельные переменные: studentName, studentAge и studentScore
// 3. Выведите имя студента, используя именованный элемент (student.name)
// 4. Выведите возраст студента, используя обращение по индексу (student.1)
// 5. Выведите переменную studentScore, полученную при разложении кортежа
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Swift