Ci sono 2 diverse sintassi di definizione di una mappa:In elisir perché non posso usare notazioni diverse durante la creazione di una mappa?
map = %{:a => 1, :b => 2}
#=> %{a: 1, b: 2}
map = %{a: 1, b: 2}
#=> %{a: 1, b: '2}
Utilizzando sia come segue durante la definizione di una mappa funziona:
map = %{:a => 1, b: 2}
#=> %{a: 1, b: 2}
Ma utilizzato in altro ordine genera un errore:
map = %{a: 1, :b => 2}
#=> ** (SyntaxError) iex:37: syntax error before: b
Perché?
EDIT
OS: Ubuntu 15.4
Elixir: 1.1.1
Questo può essere un bug in Elisir. –
Si consiglia di aggiungere alcuni dettagli. Versione di elisir, sistema operativo ecc. –