2
Erlangではどのようにこのように一致させることができますか?Erlangのマッチングマップ
#{o => 0} = maps:put(o, 0, maps:new()).
"Illegal pattern"
私がerlangシェルで読むことができる値は同等です。なぜ一致しないのですか?
Erlangではどのようにこのように一致させることができますか?Erlangのマッチングマップ
#{o => 0} = maps:put(o, 0, maps:new()).
"Illegal pattern"
私がerlangシェルで読むことができる値は同等です。なぜ一致しないのですか?
#{o := 0} = maps:put(o, 0, maps:new()).
符号=>
は、キーと値のペア、既存のキー上で動作:=
記号を作成するために使用されます。前の式はパターンマッチングに有効であり、次のことは比較に有効です(比較の両辺は等価です)。
#{o => 0} == maps:put(o, 0, maps:new()).
1> #{o := 0} = #{o => 0,i => 1}. % will match
#{i => 1,o => 0}
2> #{o := 0} = #{o => 2,i => 1}. % will not match
** exception error: no match of right hand side value #{i => 1,o => 2}
3> #{o => 0} == #{o => 0,i => 1}. % is false
false
3>