Movatterモバイル変換


[0]ホーム

URL:


Skip to content
DEV Community
Log in Create account

DEV Community

Cover image for O que é um atom?
Trybe profile imageDiego Novais
Diego Novais forTrybe

Posted on • Edited on

     

O que é um atom?

Segundo adocumentação do Elixir, umatom é uma constante cujo valor é o seu próprio nome. E para desenvolvedores que vieram do Ruby, assim como eu, umatom é análogo ao:symbol.

É comum o uso de atoms emlists,tuplas emaps:

defmoduleExampledodefexample_paramsdo# tuplatuple={:ok,"This is a tuple"}# listlist=[:slug,:title]# mapmap=%{name:"Diego",age:35,country:"Brazil"}endend
Enter fullscreen modeExit fullscreen mode

Em Elixir os booleanostrue efalse, por exemplo, também sãoatoms:

iex>true==:true>trueiex>false==:false>falseiex>is_atom(false)>trueiex>is_boolean(:false)>true
Enter fullscreen modeExit fullscreen mode

Um outro exemplo é quando usamosatoms como referência de status de uma determinada requisição:

defmoduleExampleControllerdo#...defdelete_person(conn,%{"id"=>id})doperson=Person.get_person!(id){:ok,_person}=Person.Repo.delete(person)conn|>put_flash(:info,"Person deleted successfully.")|>redirect(to:person_path(conn,:index))endend
Enter fullscreen modeExit fullscreen mode

No exemplo acima:ok indica que foi deletado com sucesso e que, em seguida, foi disparado uma "flash message" com status:info informando que "a pessoa foi deletada com sucesso" e, posteriormente, é feito o redirecionamento para a:index.

Top comments(6)

Subscribe
pic
Create template

Templates let you quickly answer FAQs or store snippets for re-use.

Dismiss
CollapseExpand
 
andrgab profile image
Andre Gabriel
I'm a Biomedical Scientist and an IT Professional who luvs Life, Science and Computing. I'm looking forward to collaborating on new projects so I can improve my development skills.
  • Location
    Brazil
  • Joined

show

CollapseExpand
 
dnovais profile image
Diego Novais
Senior Software Engineer | Ruby | Ruby On Rails | Elixir | Phoenix | Technical Writer | LLM

Obrigado! =D

CollapseExpand
 
tporto profile image
Thiago Porto
  • Joined

Parabéns!

CollapseExpand
 
dnovais profile image
Diego Novais
Senior Software Engineer | Ruby | Ruby On Rails | Elixir | Phoenix | Technical Writer | LLM

Obrigado! =D

CollapseExpand
 
wlsf profile image
Willian Frantz
Elixir is love, Erlang is life!
  • Location
    Brazil
  • Joined

obrigado por compartilhar conteúdo! muito bacana!

CollapseExpand
 
dnovais profile image
Diego Novais
Senior Software Engineer | Ruby | Ruby On Rails | Elixir | Phoenix | Technical Writer | LLM

Obrigado! =D

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment'spermalink.

For further actions, you may consider blocking this person and/orreporting abuse

Nossa stack hoje é composta majoritariamente por Elixir nos nossos serviços de back-end, suportando a criação dos nossos produtos educacionais e da fintech, e React, com TypeScript e JavaScript no nosso front-end. Utilizamos Go para a construção de serviço

More fromTrybe

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.

Log in Create account

[8]ページ先頭

©2009-2025 Movatter.jp