1.7 Кортежи
📚 Работа с кортежами в Glint
Кортежи в языке программирования Glint представляют собой упорядоченные неизменяемые коллекции объектов. Они могут содержать элементы различных типов данных, и их элементы доступны по индексу.
📝 Основы работы с кортежами
Создание кортежа
my_tuple is (1, 2, 'a', 'b')
Доступ к элементам кортежа
write "First element:", my_tuple[0] # Вывод: First element: 1
write "Second element:", my_tuple[1] # Вывод: Second element: 2
write "Third element:", my_tuple[2] # Вывод: Third element: a
write "Fourth element:", my_tuple[3] # Вывод: Fourth element: b
Этот пример создает кортеж my_tuple
, содержащий числа и строки, и демонстрирует доступ к его элементам по индексу. Кортежи обычно используются для представления наборов данных, которые не должны изменяться после создания.
🆕 Дополнительно
В Glint добавлены уникальные возможности для работы с кортежами, которые делают их еще более мощными и удобными в использовании:
🌀 Автоматическое объединение кортежей
Теперь кортежи можно объединять с помощью оператора +
, создавая новый кортеж, содержащий элементы обоих кортежей.
tuple1 is (1, 2, 3)
tuple2 is ('a', 'b', 'c')
combined_tuple is tuple1 + tuple2
write "Combined Tuple:", combined_tuple # Вывод: Combined Tuple: (1, 2, 3, 'a', 'b', 'c')
🔄 Преобразование кортежа в список и обратно
Для удобства работы с элементами кортежей можно временно преобразовать кортеж в список и обратно.
my_tuple is (1, 2, 3)
my_list is my_tuple.to_list()
my_list.append(4)
my_tuple is my_list.to_tuple()
write "Modified Tuple:", my_tuple # Вывод: Modified Tuple: (1, 2, 3, 4)
📈 Расширенные методы работы с кортежами
count value
: Возвращает количество вхождений элемента в кортеж.index value
: Возвращает индекс первого вхождения элемента в кортеж.contains value
: Проверяет наличие элемента в кортеже (возвращает true или false).
my_tuple is (1, 2, 3, 2, 2)
count_of_twos is my_tuple.count 2
index_of_first_two is my_tuple.index 2
contains_four is my_tuple.contains 4
write "Count of 2s:", count_of_twos # Вывод: Count of 2s: 3
write "Index of first 2:", index_of_first_two # Вывод: Index of first 2: 1
write "Contains 4:", contains_four # Вывод: Contains 4: false
✨ Динамические кортежи
В Glint есть уникальный функционал — динамические кортежи. Это кортежи, которые могут временно изменяться внутри специальных блоков кода. После выхода из блока изменения перестают действовать, возвращая кортеж к исходному состоянию.
my_tuple is (1, 2, 3)
# Динамический блок
dynamic my_tuple:
my_tuple is my_tuple.to_list
my_tuple.append 4
my_tuple is my_tuple.to_tuple
write "Inside dynamic block:", my_tuple # Вывод: Inside dynamic block: (1, 2, 3, 4)
# Вне блока кортеж возвращается к исходному состоянию
write "Outside dynamic block:", my_tuple # Вывод: Outside dynamic block: (1, 2, 3)
Last updated