1.7 KiB
1.7 KiB
title | localeTitle |
---|---|
Tuples | Кортеж |
Кортеж
В Elixir кортежи представляют собой структуру данных, которая может содержать любое значение или смесь типов. Кортежи определяются фигурными фигурными скобками, а их индексы начинаются с 0. Поскольку кортежи хранятся смежно в памяти, получение данных из них является очень быстрой операцией.
iex> tuple = {:atom, "string"}
{:atom, "string"}
iex> elem(tuple, 0)
:atom
неизменность
Кортежи в Elixir неизменяемы, поэтому внесение изменений вернет совершенно новый кортеж - сохранение оригинала в памяти.
iex> tuple = {:atom, "string"}
{:atom, "string"}
iex> put_elem(tuple, 1, true)
{:atom, true}
iex> tuple
{:atom, "string"}
Соответствие шаблону
Наиболее распространенное использование кортежей в Elixir - это возврат функции. Например: {:ok, "Hello World\n"}
Это очень полезно, так как позволяет использовать Match Matching для обработки этих возвратов.