DEV Community

Allef Gomes
Allef Gomes

Posted on

5 2

Introdução ao Elixir

Olá, devs!
Decidi fazer esse post para compartilhar uma trilha de conhecimentos em Elixir seguindo o próprio Getting Started.

Caso não tenha o Elixir instalado em sua máquina, você pode dar uma olhada no post que escrevi sobre como instalar o Erlang e o Elixir utilizando o asdf.

Com o Elixir instalado, ganhamos três novos executáveis: iex, elixir, elixirc.

IEX

Agora, abra um terminal e rode o comando iex. Isto irá abrir um shell interativo que poderá rodar comandos em Elixir.

Exemplo de string em elixir

ELIXIR

Também é possível rodar um script com o comando elixir PATH_DO_ARQUIVO. Nesse caso, a extensão do arquivo deve ser .exs, o que significa que esse arquivo é um script escrito em Elixir.

Para este exemplo, criaremos um simples arquivo chamado ola_mundo.exs e colocaremos o seguinte comando dentro do arquivo:

IO.puts("Olá mundo!")
Enter fullscreen mode Exit fullscreen mode

Após salvar, é só rodar o comando elixir ola_mundo.exs no terminal e verá um resultado igual ao abaixo:

Rodando um script

ELIXIRC

Por fim, temos o comando elixirc que irá compilar um arquivo .ex ou uma pasta que contenha arquivos .ex e irá gerar um .beam para cada módulo criado.
Obs: Iremos entender melhor sobre módulo nos próximos posts.

Primeiro, iremos criar uma pasta chamada primeiro_script e dentro dela vamos criar o arquivo ola_mundo.ex que contém o código abaixo:

defmodule OlaMundo do
  def run do
    "Olá Mundo"
  end
end
Enter fullscreen mode Exit fullscreen mode

Também criaremos dentro da pasta primeiro_script uma pasta chamada core e dentro desta, criaremos o arquivo sucesso.ex que terá o seguinte código:

defmodule Core.Sucesso do
  def run do
    "Sucesso!"
  end
end
Enter fullscreen mode Exit fullscreen mode

Feito isso, teremos uma arquitetura de pastas e arquivos da seguinte forma:

Image description

E dentro da pasta primeiro_script iremos rodar o comando que serve para compilar a pasta em que você está no terminal:

elixirc .
Enter fullscreen mode Exit fullscreen mode

Se formos olhar agora, teremos arquivos com a extensão .beam que são os arquivos compilados.

Image description

Para finalizarmos, podemos dar um iex dentro da pasta primeiro_script e chamar os módulos compilados e suas funções run para vermos o resultado.

Image description

Por hoje é isso, pessoal.
Te vejo no próximo post! :)

Sentry blog image

How I fixed 20 seconds of lag for every user in just 20 minutes.

Our AI agent was running 10-20 seconds slower than it should, impacting both our own developers and our early adopters. See how I used Sentry Profiling to fix it in record time.

Read more

Top comments (1)

Collapse
 
rohlacanna profile image
Rômulo Silva

Ótimo trabalho!
Parabéns Allef 💜

nextjs tutorial video

Youtube Tutorial Series

So you built a Next.js app, but you need a clear view of the entire operation flow to be able to identify performance bottlenecks before you launch. But how do you get started? Get the essentials on tracing for Next.js from @nikolovlazar in this video series 👀

Watch the Youtube series

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay