Урок 11. Кортежи
Главная / Уроки / Страница блока Основы / Урок 11. Кортежи
14 Января 2023
Tuples
Кортежи своего рода тоже коллекции, но в отличии от массивов, множеств и словарей, они могут содержать разные типы данных. Такие объекты называются Tuples, что в переводе означает Кортежи.
То есть у каждого значения в составе кортежей может быть свой тип данных, который не зависит от других.
Давайте сперва посмотрим на его синтаксис:
(oneElement, towElement, …)
В круглых скобках мы определяем необходимые нам элементы, при этом они могут иметь разные типы данных.
Создадим для примера два кортежа:
let hotel = (4, "family")
let pet = ("Cat", 6, true)
Мы с вами создали два кортежа, первый отвечает за некоторые данные по отелю, а второй по питомцу.
Каждый из этих кортежей группирует значения разных типов. Давайте посмотрим на типы данных наших свойств:
Так выглядит тип кортежа.
Доступ к элементам кортежа
Давайте запустим компилятор и посмотрим на окно справа:
Обратите внимания на цифры перед значениями в правом окне, это индексы ваших значений, то есть к элементам можно обратится по их индексам:
Ну и если мы видим элемент справа, то это значение мы можем присвоить какому-либо свойству:
let rating = hotel.0
let type = hotel.1
Свойство rating будет типа Int, а type типа String
Эти свойство можно теперь использовать в логике.
Элементы кортежа можно именовать:
let hotel = (rating: 4, type: "family")
let pet = (type: "Cat", age: 6, isfluffy: true)
Таким образом мы можем обращаться к элементам и по их индексам и по их параметрам:
Вы можете именовать только некоторые элементы кортежа, не обязательно задавать имена всем. Но если уж начали именовать, то лучше идти до конца.
![](https://swiftpractice.fun/wp-content/uploads/2022/11/áâĻŠĨā-Ū-Ē-ĶŪŽ.png)
На самом деле мы с вами уже сталкивались с кортежем.
Давайте создадим числовое множество и добавим в него новый элемент:
метод insert нам возвращает кортеж, и элементы кортежа мы можем присвоить новым свойствам:
let (inserted, memberAfterInsert)
Мы объявили две константы и поместила их в скобки, с наружи написали let, и теперь нам нужно присвоить значение для каждой из этих констант:
var numbers: Set = [5, 4, 9, 33, 58]
let (inserted, memberAfterInsert) = numbers.insert(8)
Количество свойств в скобках не должно превышать количества элементов самого кортежа.
![](https://swiftpractice.fun/wp-content/uploads/2022/11/áâĻŠĨā-Ū-Ē-ĶŪŽ.png)
Теперь свойство inserted будет содержать в себе логическое значение, а memberAfterInsert то значение, которое мы добавили в множество.
Давайте посмотрим на эти значения:
Эти свойства можно отдельно друг от друга использовать в логике.
Если из кортежа вы хотите достать только одно свойство, то ненужное вам замените на нижнее подчеркивание: