[erlang-questions] Maps single value access not implemented
Jesper Louis Andersen
jesper.louis.andersen@REDACTED
Mon Feb 10 16:49:57 CET 2014
On Mon, Feb 10, 2014 at 1:54 PM, Sina Samavati <sina.samv@REDACTED> wrote:
> From another perspective: add or update it, I don't want you to shout at me
> "Hey, there's no such key", because it will or will not be used. That's it.
>
The reason := is in there is to catch errors. If you have a map
M = #{ foo => 3 }
and then accidentally write
M#{ fou => 4 }
The resulting map will be
#{ foo := 3, fou := 4 }
which is probably not what you want. The := operator makes such errors
impossible.
The other, more subtle, benefit is that if a map is updated with := only,
then the keys can be shared among the different maps. This yields good
space behavior in the long run.
--
J.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20140210/3e862ca4/attachment.htm>
More information about the erlang-questions
mailing list