# создание и обновление
user = {:user, "Alice", 30}
user = put_elem(user, 2, 31)
# => {:user, "Alice", 31}
# доступ к элементам
name = elem(user, 1) # "Alice"
# преобразование в список
Tuple.to_list(user)
# => [:user, "Alice", 31]
# работа через паттерн матчинг
{:user, name, age} = user
IO.puts("#{name} is #{age}")
# Alice is 31
В Elixir как и в других языках программирования, List и Tuple представляют собой коллекции, но имеют разные характеристики и случаи использования. Рассмотрим их основные отличия.
Сравнение List и Tuple
Характеристика
List
Tuple
Изменяемость
Изменяемая (mutable)
Неизменяемая (immutable)
Производительность
Медленнее для доступа и изменения
Быстрее для доступа
Использование памяти
Использует больше памяти
Использует меньше памяти
Структура
Элементы могут быть разного типа
Элементы могут быть разного типа, но фиксированы по количеству
Конкатенация
Легко объединять через ++
Нет встроенной функции для объединения
Индексация
Индексация начинается с 0
Индексация начинается с 0
Использование
Часто используется при работе с последовательными данными
Подходит для фиксированных наборов данных
Примеры использования
Списки: ``elixir my_list = [1, 2, 3, 4] updated_list = [0 | my_list] # Добавляет 0 в начало списка ``
Кортежи: ``elixir my_tuple = {:ok, "Hello"} ` Обращение к элементам по индексу: `elixir status = elem(my_tuple, 0) # Получает :ok ``
Когда использовать?
Списки лучше использовать, когда вам нужно работать с динамической коллекцией элементов, которую нужно часто изменять.
Кортежи предпочтительны, когда вы знаете количество элементов заранее и хотите обеспечить быстрое обращение к элементам, например, в случаях, когда вы возвращаете несколько значений из функции.
Эти различия помогают эффективно выбирать между List и Tuple в зависимости от вашей задачи в Elixir.
Создано 18.11.2025 22:13:26
Roman Sakhno
Копирование материалов разрешается только с указанием автора Roman Sakhno и индексируемой прямой ссылкой на сайт (http://itdid.ru)!
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.