freeCodeCamp/guide/portuguese/elixir/tuples/index.md

36 lines
1.1 KiB
Markdown

---
title: Tuples
localeTitle: Tuplas
---
## Tuplas
No Elixir, as tuplas são uma estrutura de dados que pode conter qualquer valor ou mistura de tipos. Tuplas são definidas por chaves, e seus índices começam em 0. Como as tuplas são armazenadas contiguamente na memória, obter dados delas é uma operação muito rápida.
```elixir
iex> tuple = {:atom, "string"}
{:atom, "string"}
iex> elem(tuple, 0)
:atom
```
## Imutabilidade
As tuplas no Elixir são imutáveis, portanto, fazer modificações retornará uma tupla inteiramente nova - salvando o original na memória.
```elixir
iex> tuple = {:atom, "string"}
{:atom, "string"}
iex> put_elem(tuple, 1, true)
{:atom, true}
iex> tuple
{:atom, "string"}
```
## Correspondência de Padrões
O uso mais comum de tuplas no Elixir é como um retorno para uma função. Por exemplo: `{:ok, "Hello World\n"}` Isso é muito útil, pois permite o uso de Correspondência de Padrões para lidar com esses retornos.
#### Mais Informações:
* [elixir-lang.org | recursão](https://elixir-lang.org/getting-started/basic-types.html#tuples)
* [hexdocs | Enum](https://hexdocs.pm/elixir/Tuple.html)