Seguindo com as nossas dúvidas de iniciantes, hoje vamos comentar sobre os arquivos .ex e .exs que o Elixir nos permite usar.
A primeira coisa que devemos ter conhecimento é que o Elixir pode “executar” arquivos compilados ou arquivos de script.
Arquivos .ex
Arquivos .ex são arquivos que podemos compilar e assim gerar arquivos .beam que é o bytecode gerado pelo Elixir para que a máquina virtual do Erlang consiga interpretá-lo, ou seja, arquivos com extensão .ex são arquivos que serão compilados. Para um exemplo, crie o arquivo say.exconforme abaixo:
# say.ex
defmodule Say do
def hello do
IO.puts "Hello!!!"
end
end
Agora, após salvar, use o elixirc para compilá-lo rodando o comando…
=> elixirc say.ex
Nesse momento você vai perceber que é gerado o arquivo Elixir.Say.beam .
Agora que o arquivo .beam já foi criado podemos entrar no iex (estando na mesma pasta do arquivo .beam para que o arquivo seja carregado em memória) e usar o módulo e função que criamos. Veja:
=> iex
iex(1)> Say.hello
Hello!!!
:ok
Simples, não? 🙂
Arquivos .exs
Agora vamos para o arquivo .exs que são os arquivos de script.
A única diferença para um arquivo .ex é que quando rodamos arquivos .exseles são compilados e disponibilizados na memória ao invés de criar o arquivo .beam.
Para um exemplo, crie um arquivo hello.exs com o seguinte conteúdo:
# hello.exs
IO.puts "Hello from exs file!!!"
Após salvar, execute…
=> elixir hello.exs
Hello from exs file!!!
Daí você vai perceber que a saída é mostrada como esperamos. 😉
Enfim, em resumo, arquivos .ex são para compilar e arquivos .exs são arquivos de scripting.
É isso gente, espero que tenham entendido mais essa e até a próxima!
Ahh… aproveitando, não esqueçam que agora estamos com o curso de Programação Funcional com Elixir, não deixe e conferir! 😉 E claro, aproveite para nos acompanhar nas redes sociais e assinar a nossa newsletter semanalpara receber mais dicas como essa. Vlw!!!