为什么这种模式匹配通过:
%{"asd" => %{}} = %{"asd" => %{"qwe" => ""}}
虽然这个没有(MatchError):
x = %{}
%{"asd" => ^x} = %{"asd" => %{"qwe" => ""}}
编辑:发现pin运算符意味着它必须等于。现在,我如何匹配到此地图中的x
变量?
答案 0 :(得分:1)
根据定义,左侧的固定变量值必须等于右侧的相应值(tutorial)。
以下匹配将起作用:
x = %{"qwe" => ""}
%{"asd" => ^x} = %{"asd" => %{"qwe" => ""}}
提供x
任何其他值,匹配将失败并显示MatchError
。
指定x
只省略pin运算符,即删除^
。