Atoms
As constantes do elixir
Atoms são constantes onde seu valor é o próprio nome. Sua definição vem com um prefixo de dois pontos :
seguido de um nome. Exemplo :apple
.
Um ato é igual a outro atom com mesmo nome.
Rodando esse código teremos um relatório de sucesso.
Atoms podem ser definidos dinamicamente, para isso poder fazer de duas formas:
Utilizando interpolação
Utilizando conversão
1. Interpolação
2. Conversão
Atenção
Devemos tomar cuidado na criação de atoms dinamicamente em nossas aplicações. Quando atoms são criados eles se mantem na memória até que a aplicação reinicie. Isso quer dizer que, se tivermos uma forma de criar atoms dinamicamente exposta para o usuário, corremos o risco de usuários mal intencionados criarem N atoms, até que nossa aplicação não responda corretamente.
Temos algumas formas de evitar esse tipo de problema. Uma forma é a utilização do String.to_existing_atom/1
onde, um atom so será gerado, caso já tenha sido criado antes. Com isso podemos limitar o que pode e o que não pode ser criado.
E caso ele já tenha sido criado, não teremos problemas
Conclusão
Atoms são muito utilizados no mundo elixir, são práticos e fáceis de usar. Vimos que precisamos tomar cuidado com a geração dinâmica e que podemos controlar o que pode ser criado. Mais a frente utilizaremos cada vez mais atoms para simplificar nosso código e estrutura-lo.
Last updated