有2個不同定義的映射的語法:在Elixir中,爲什麼創建地圖時不能使用不同的符號?
map = %{:a => 1, :b => 2}
#=> %{a: 1, b: 2}
map = %{a: 1, b: 2}
#=> %{a: 1, b: '2}
同時使用而定義的映射的工作原理如下:
map = %{:a => 1, b: 2}
#=> %{a: 1, b: 2}
但在其他順序使用引發錯誤:
map = %{a: 1, :b => 2}
#=> ** (SyntaxError) iex:37: syntax error before: b
爲什麼?
編輯
操作系統:Ubuntu的15.4
藥劑:1.1.1
這可能是一個在Elixir中的錯誤。 –
你可能想添加一些細節。 Elixir,OS等版本 –