Когда я пытаюсь создать карту с использованием синтаксиса %{}
, Elixir сообщает об ошибке синтаксиса и терпит неудачу. map = %{foo: "bar", hello: "world"}
не работает. map = %{:a => 1, 2 => :b}
(взято непосредственно из учебника) не работает.
Эта проблема возникает в интерактивной среде:
Erlang R16B03-1 (erts-5.10.4) [source] [64-bit] [smp:2:2] [async-threads:10] [hipe] [kernel-poll:false]
Interactive Elixir (0.12.5) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> %{2 => :b, :a => 1}
** (SyntaxError) iex:1: invalid token: %{2 => :b, :a => 1}
iex(1)> map = %{foo: "bar", hello: "world"}
** (SyntaxError) iex:1: invalid token: %{foo: "bar", hello: "world"}
iex(1)>
А также при запуске скрипта:
$ cat simple.exs
map = %{:a => 1, 2 => :b}
$ elixir simple.exs
** (SyntaxError) simple.exs:1: invalid token: %{:a => 1, 2 => :b}
(elixir) lib/code.ex:301: Code.require_file/2
На заметке (вероятно, не связанной), команда i
тоже не работает:
iex(1)> i {1,2}
** (RuntimeError) undefined function: i/1
Неправильно ли моя установка Elixir? Это на CentOS, установленном с использованием yum install elixir
.