当前位置:  开发笔记 > 编程语言 > 正文

在Erlang中匹配地图

如何解决《在Erlang中匹配地图》经验,为你挑选了1个好方法。

我怎么能在Erlang中这样匹配?

#{o => 0} = maps:put(o, 0, maps:new()).
"Illegal pattern"

从我在erlang shell中可以读到的内容来看,这些值是等价的.为什么我不匹配?



1> Pascal..:
#{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>

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有