# Manipulação de dados

Os dados em Elixir são representados por diferentes tipos de valores, como `números`, `strings`, `booleanos`, [`listas`](/basico/colecoes/listas.md), [`mapas`](/basico/colecoes/mapas.md), [`tuplas`](/basico/colecoes/tuplas.md), conjuntos, e outros. Cada tipo de dado tem suas próprias características e propriedades que podem ser utilizadas para resolver problemas específicos.

Para trabalhar com dados, existem diversas funções e módulos disponíveis, como o módulo `Enum`, o módulo `Stream`, e outros. Esses recursos fornecem ferramentas para manipular e transformar dados de maneira eficiente e concisa. Eles estão associados ao protocolo Enumerable dando a eles super poder de lidar com certos tipos de coleções. Veja mais sobre o conceito de coleções [enumeráveis](/conceitos/enumeraveis.md).

Em resumo, a manipulação de dados é uma parte essencial do desenvolvimento de software em Elixir. Com uma ampla gama de recursos e ferramentas disponíveis, você pode trabalhar com dados de várias formas e resolver problemas específicos de maneira eficiente e concisa.

Olharemos agora duas formas de manipular dados:

* [Enum](/conceitos/enumeraveis.md)
* [Stream](/basico/manipulacao-de-dados/stream.md)

Vamos nessa!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://aprenda.cafecomelixir.com.br/basico/manipulacao-de-dados.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
