我想创建一个带有整数类型键的地图,但这不起作用:
iex(1)> a = %{3: "fdsfd"}
** (SyntaxError) iex:1: unexpected token: ":" (column 8, codepoint U+003A)
iex(1)> a = %{:3 => "fdsfd"}
** (SyntaxError) iex:1: unexpected token: ":" (column 7, codepoint U+003A)
Run Code Online (Sandbox Code Playgroud)
要将整数用作键,只需像这样使用它:
map = %{ 3 => "value" }
Run Code Online (Sandbox Code Playgroud)
:3是 Elixir 中的无效值;原子在 Elixir 中既不是字符串也不是整数,它们是常量,它们的名字就是它们的值。要使用仅3作为原子的键,您必须使用以下命令:
map = %{ :"3" => "value" }
Run Code Online (Sandbox Code Playgroud)