Trilhas
/
Elixir
Elixir
/
Programa
/
Bibliotecas Erlang
Bi

Bibliotecas Erlang em Elixir

8 exercícios

Sobre Bibliotecas Erlang

O código Elixir roda na máquina virtual BEAM. O BEAM faz parte do sistema de execução do Erlang. Por ter sido inspirado no Erlang e compartilhar o seu ambiente de execução, o Elixir oferece uma ótima interoperabilidade com bibliotecas Erlang. Isso significa que os desenvolvedores Elixir podem usar bibliotecas Erlang dentro do próprio código Elixir. Na verdade, escrever bibliotecas Elixir para funcionalidades que as bibliotecas Erlang já oferecem é desencorajado na comunidade Elixir.

Por isso, certas funcionalidades, como operações matemáticas ou funções de temporizador, só estão disponíveis no Elixir por meio do Erlang.

Essa relação próxima entre Elixir e Erlang significa que, para se tornar um desenvolvedor Elixir proficiente, talvez você queira investir algum tempo aprendendo a sintaxe básica do Erlang.

Como usar

A biblioteca padrão do Erlang está disponível para uso no nosso código Elixir sem nenhum passo extra.

As funções Erlang podem ser chamadas da mesma forma que chamamos funções Elixir, com uma pequena diferença. Os nomes dos módulos Erlang são átomos em snake_case. Por exemplo, para chamar a função pi/0 do módulo math do Erlang, você escreveria:

:math.pi()
# => 3.141592653589793

Os módulos Erlang mais usados

Os módulos Erlang mais usados oferecem funcionalidades que faltam na biblioteca padrão do Elixir. São eles:

  • O módulo timer, que fornece funções como sleep/1, send_after/2 e send_interval/2.
  • O módulo rand, que fornece funções como uniform/0, normal/0 e seed/2.
  • :io_lib.format/2, que fornece formatação de string no estilo C (usando sequências de controle).
  • O módulo math, que fornece funções matemáticas como sin/1, cos/1, log2/1, log10/1, pow/2 e muitas outras.
  • O módulo queue, que fornece uma estrutura de dados de fila.
  • O módulo crypto, que fornece funções criptográficas.
  • O módulo zip, que fornece funções para trabalhar com arquivos zip.
  • O módulo calendar, que fornece funções para trabalhar com datas e horas, como iso_week_number/1. Para passar uma struct Date, Time ou NaiveDateTime para uma das funções Erlang, ela precisa ser convertida para o formato Erlang com uma função to_erl do módulo correspondente.

Para conhecer a biblioteca padrão do Erlang, explore o Manual de Referência do STDLIB.

A interoperabilidade do Elixir com bibliotecas Erlang não se limita à biblioteca padrão do Erlang. Qualquer biblioteca Erlang pode ser usada no código Elixir.

Editar via GitHub O link abre em uma nova janela ou aba

Aprenda Bibliotecas Erlang

A prática está bloqueada

Desbloqueie mais 2 exercícios para praticar Bibliotecas Erlang