从Elixir脚本中从Map检索值

时间:2019-09-23 14:49:52

标签: dictionary elixir iex

例如,如果我在Elixir中编写了一个简单的Map,则:

query

并且我将其另存为脚本,例如

person = %{ :name => "Bob", :age => 45}

使用

编译脚本后,如何获取鲍勃的年龄?

script.exs 吗?

或者,甚至更好:

elixir script.exs

如果我再写iex script.exs

它给我一个错误:

person[:age]

在Elixir中不能使用这样的地图吗?

1 个答案:

答案 0 :(得分:2)

这有点hacky,但是您可以使用iex --dot-iex script.exs传递脚本。参见The .iex.exs file

$ iex --dot-iex script.exs
Erlang/OTP 21 [erts-10.3] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]

Interactive Elixir (1.9.1) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> person
%{age: 45, name: "Bob"}
  

使用elixir script.exs编译脚本后,如何获取Bob的年龄?

不确定您的意思。运行脚本后,脚本已完成,因此无法检索任何值(除非脚本返回或设置环境)。