# Funções nomeadas convertidas para anônima

Em alguns casos queremos utilizar uma função nomeada como parâmetro para alguma outra função. Por natureza não podemos fazer isso com funções nomeadas, somente com funções anônimas como foi exemplificado no capítulo de [funções anônimas](/basico/funcoes/funcoes-anonimas.md).

Mas quando precisamos fazer isso, o elixir nos deixa transformar uma função nomeada em função anônima. Para isso, podemos utilizar o operador de captura (&)

Sua estrutura começa com o operador de captura, seguido da chamada da função + a aridade da função.&#x20;

```elixir
&String.reverse/1
```

Com isso ela se torna uma função anônima, nos possibilitando coloca-la em uma variável ou passar por parâmetro.

Um exemplo de como podemos fazer isso

```elixir
# usando função anônima
Enum.map([1,2,3], fn x -> x * 2 end)
# [2, 4, 6]

# usando função nomeada
defmodule MyModule do
  def math(x), do: x * 2 
end

Enum.map([1,2,3], &MyModule.math/1)
# [2, 4, 6]
```


---

# 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/funcoes/funcoes-nomeadas-convertidas-para-anonima.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.
