2014-02-16 104 views
2

如何在Elixir中对HashDict进行模式匹配?我无法在任何地方找到任何体面的信息。 所以比如我是和它必将变量:如何在elixir中对HashDict进行模式匹配?

#HashDict<[{"a", 1}, {"b", 2}]> 

而且可以说,我想2

我想这样的事情来测试一个概念,但没有运气:

[{"a",1}, {"b",val} = a 

,但我得到:(MatchError)不匹配的右手边值

有人可以帮助我?

+0

好的,我在[elxir-talk google group] [1]上问了同样的问题,事实证明,我无法在HashDict上进行模式匹配,但是至于Elixir 0.13地图数据类型将可用它可以被模式匹配。 https://groups.google.com/forum/#!topic/elixir-lang-talk/UH_Iw8KC_ys – Janjiss

回答

3

您无法在HashDict上模式匹配。一般来说,当你看到一些打印为#HashDict<...>的东西时,正是因为它的内部表示是“私人”的。地图在Elixir 0.13上出现,它们将支持模式匹配(以及其他好玩的东西)。