2014-02-16 33 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上出現,它們將支持模式匹配(以及其他好玩的東西)。