在Erlang中,可以编写'1'一个以整数命名的原子.Elixir使用语法:<name>来定义原子,但:1不可能:
iex(1)> :1
** (SyntaxError) iex:1: unexpected token: ":" (column 1, codepoint U+003A)
Run Code Online (Sandbox Code Playgroud)
Elixir有没有办法生成一个整数命名的原子?
您可以将1引号和前置放入:以获取'1'Erlang中的等效内容:
iex(1)> :"1"
:"1"
iex(2)> :'1'
:"1"
Run Code Online (Sandbox Code Playgroud)
Dogbert 提供的答案是最简单的。如果您想为此使用函数,不幸的是没有函数。您可以先将 int 转换为 Sting,然后再转换为 Atom。
1
|> Integer.to_string()
|> String.to_atom()
# :"1"
Run Code Online (Sandbox Code Playgroud)