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.
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!")
Após salvar, é só rodar o comando elixir ola_mundo.exs
no terminal e verá um resultado igual ao abaixo:
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
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
Feito isso, teremos uma arquitetura de pastas e arquivos da seguinte forma:
E dentro da pasta primeiro_script
iremos rodar o comando que serve para compilar a pasta em que você está no terminal:
elixirc .
Se formos olhar agora, teremos arquivos com a extensão .beam
que são os arquivos compilados.
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.
Por hoje é isso, pessoal.
Te vejo no próximo post! :)
Top comments (1)
Ótimo trabalho!
Parabéns Allef 💜