Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert Integer to Atom in Elixir

Tags:

elixir

In Erlang, one can write '1' to get an integer-named atom. Elixir uses the syntax :<name> to define an atom, but :1 is not possible:

iex(1)> :1
** (SyntaxError) iex:1: unexpected token: ":" (column 1, codepoint U+003A)

Is there a way in Elixir to generate an integer-named atom?

like image 638
evnu Avatar asked May 19 '26 09:05

evnu


2 Answers

You can put the 1 in quotes and prepend : to get the equivalent of '1' in Erlang:

iex(1)> :"1"
:"1"
iex(2)> :'1'
:"1"
like image 119
Dogbert Avatar answered May 21 '26 06:05

Dogbert


You can also leverage string interpolation:
String.to_atom("#{your_number}")

like image 26
Christopher Milne Avatar answered May 21 '26 06:05

Christopher Milne