Desbloqueie o Poder do IEx: Explorando o Shell Interativo do Elixir

João Paulo Abreu - Jun 29 - - Dev Community

Neste artigo, vamos explorar o Interactive Elixir (IEx), uma poderosa ferramenta para experimentar código e compreender a sintaxe básica do Elixir. O IEx é um REPL (Read-Eval-Print Loop) que permite a interação com o Elixir em tempo real. Com ele, você pode testar comandos, funções e aprender os fundamentos da linguagem de forma prática e dinâmica. O IEx é ideal para desenvolvedores que desejam explorar e experimentar suas ideias rapidamente.

Para mais informações, confira a documentação oficial do IEx.

Este artigo é direcionado a iniciantes em Elixir, desenvolvedores experientes em outras linguagens que desejam aprender Elixir, ou aqueles que buscam se aprofundar na ferramenta IEx.

Instalando o Elixir e o IEx

Para instalar o Elixir e o IEx leia meus artigos anteriores que mostro quais os comandos necessários para instalar o Elixir nas distribuições linux Ubuntu 24.04 ou Fedora 40.

Iniciando o IEx

Para iniciar o IEx, abra o terminal e digite:

iex
Enter fullscreen mode Exit fullscreen mode

Você verá um prompt onde pode começar a digitar comandos Elixir.

Erlang/OTP 27 [erts-15.0] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit:ns]
Interactive Elixir (1.17.1) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)>
Enter fullscreen mode Exit fullscreen mode

Para sair do IEx, você pode usar o atalho Ctrl + C duas vezes.

Comandos básicos no IEx

O IEx permite a execução de diversos comandos básicos que ajudam na compreensão da linguagem. Aqui estão alguns exemplos:

Explorando a Sintaxe do Elixir

  • Matemática Básica
iex(1)> 2 + 3
5
Enter fullscreen mode Exit fullscreen mode
  • Manipulação de Strings
iex(2)> "Olá, " <> "mundo!"
"Olá, mundo!"
Enter fullscreen mode Exit fullscreen mode
  • Uso de variáveis
iex(3)> nome = "João"
"João"
Enter fullscreen mode Exit fullscreen mode

Matemática e Operadores

Você pode usar operadores matemáticos básicos no IEx para realizar cálculos:

  • Divisão: /
  • Divisão inteira: div
  • Resto da divisão: rem
iex(4)> 10 / 2
5.0
iex(5)> 10 div 2
5
iex(6)> 10 rem 3
1
Enter fullscreen mode Exit fullscreen mode

Manipulação de Strings

O Elixir possui funções úteis para manipulação de strings:

  • Tamanho: String.length()
  • Conversão para maiúsculas: String.upcase()
iex(7)> String.length("Elixir")
6
iex(8)> String.upcase("elixir")
"ELIXIR"
Enter fullscreen mode Exit fullscreen mode

Variáveis e Imutabilidade

Em Elixir, as variáveis são imutáveis. Isso significa que, uma vez atribuídas, seu valor não pode ser alterado. Quando você atribui um novo valor a uma variável, uma nova variável é criada, mantendo o nome, mas com o valor atualizado:

iex(9)> x = 10
10
iex(10)> x = 20
20
iex(11)> x
20
Enter fullscreen mode Exit fullscreen mode

Neste exemplo, x inicialmente tem o valor 10. Quando atribuimos 20, x mantém o novo valor, mas o valor anterior não é alterado, pois as variáveis são imutáveis.

Estruturas de Dados

Elixir oferece diversas estruturas de dados, como listas e tuplas:

  • Listas: []
  • Tuplas: {}
iex(12)> lista = [1, 2, 3]
[1, 2, 3]
iex(13)> tupla = {:ok, "sucesso"}
{:ok, "sucesso"}
Enter fullscreen mode Exit fullscreen mode

Funções e Pattern Matching

Funções Anônimas

Você pode criar funções anônimas diretamente no IEx:

iex(14)> saudacao = fn nome -> "Olá, #{nome}!" end
iex(15)> saudacao.("Mundo")
"Olá, Mundo!"
Enter fullscreen mode Exit fullscreen mode

Pattern Matching

Pattern matching é uma das características mais poderosas do Elixir:

iex(16)> {a, b} = {1, 2}
iex(17)> a
1
iex(18)> b
2
Enter fullscreen mode Exit fullscreen mode

Recursos do IEx

Comando h/1 para Documentação

O comando h/1 fornece a documentação de módulos e funções:

iex(19)> h Enum.map
Enter fullscreen mode Exit fullscreen mode

Comando i/1 para Informações de Variáveis

iex(20)> nome = "João"
iex(21)> i nome
Enter fullscreen mode Exit fullscreen mode

Dicas e Truques do IEx

  • Use tab para autocompletar nomes de funções e módulos.
  • Utilize o h() para ajuda com atalhos do IEx.

Exemplos Práticos

Vamos ver um exemplo prático de uso do IEx para calcular a soma de uma lista:

iex(22)> Enum.sum([1, 2, 3, 4])
10
Enter fullscreen mode Exit fullscreen mode

Conclusão

O IEx é uma ferramenta poderosa para qualquer desenvolvedor Elixir. Ele permite a experimentação rápida, aprendizado contínuo e exploração das capacidades da linguagem. Utilize o IEx para aprimorar suas habilidades e desenvolver projetos de maneira eficiente.

Próximos Passos no Elixir

No próximo artigo vamos começar a detalhar os tipos de dados com maior profundidade.

. . . . .