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

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ê…


This content originally appeared on DEV Community and was authored by João Paulo

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

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)>

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
  • Manipulação de Strings
iex(2)> "Olá, " <> "mundo!"
"Olá, mundo!"
  • Uso de variáveis
iex(3)> nome = "João"
"João"

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

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"

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

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"}

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!"

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

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

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

iex(20)> nome = "João"
iex(21)> i nome

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

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.


This content originally appeared on DEV Community and was authored by João Paulo


Print Share Comment Cite Upload Translate Updates
APA

João Paulo | Sciencx (2024-06-29T19:43:31+00:00) Desbloqueie o Poder do IEx: Explorando o Shell Interativo do Elixir. Retrieved from https://www.scien.cx/2024/06/29/desbloqueie-o-poder-do-iex-explorando-o-shell-interativo-do-elixir/

MLA
" » Desbloqueie o Poder do IEx: Explorando o Shell Interativo do Elixir." João Paulo | Sciencx - Saturday June 29, 2024, https://www.scien.cx/2024/06/29/desbloqueie-o-poder-do-iex-explorando-o-shell-interativo-do-elixir/
HARVARD
João Paulo | Sciencx Saturday June 29, 2024 » Desbloqueie o Poder do IEx: Explorando o Shell Interativo do Elixir., viewed ,<https://www.scien.cx/2024/06/29/desbloqueie-o-poder-do-iex-explorando-o-shell-interativo-do-elixir/>
VANCOUVER
João Paulo | Sciencx - » Desbloqueie o Poder do IEx: Explorando o Shell Interativo do Elixir. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/06/29/desbloqueie-o-poder-do-iex-explorando-o-shell-interativo-do-elixir/
CHICAGO
" » Desbloqueie o Poder do IEx: Explorando o Shell Interativo do Elixir." João Paulo | Sciencx - Accessed . https://www.scien.cx/2024/06/29/desbloqueie-o-poder-do-iex-explorando-o-shell-interativo-do-elixir/
IEEE
" » Desbloqueie o Poder do IEx: Explorando o Shell Interativo do Elixir." João Paulo | Sciencx [Online]. Available: https://www.scien.cx/2024/06/29/desbloqueie-o-poder-do-iex-explorando-o-shell-interativo-do-elixir/. [Accessed: ]
rf:citation
» Desbloqueie o Poder do IEx: Explorando o Shell Interativo do Elixir | João Paulo | Sciencx | https://www.scien.cx/2024/06/29/desbloqueie-o-poder-do-iex-explorando-o-shell-interativo-do-elixir/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.