Elixir

引数指定したキーでmapを掘り下げる

関数パターンマッチや、Enumでのパターンマッチでは、通常、mapのキーを指定するケースが多いが、たとえば、mapの値にリストを持っていて、掘り下げていくケース(HTTPoisonによるJSON API呼出結果のパースなど)では、可変のキーを指定したい

def dig( map, key ) do
    %{ ^key => value } = map
    value
end

「^」を書かないとコンパイルエラーになる

【2018/01/25追記】
上記とは別の取り方で、get_in()とAccess()で取得できる模様