• [Erlang 0121] 当我们谈论Erlang Maps时,我们谈论什么 Part 3


    Erlang/OTP 17.0 has been released 
     
      Erlang/OTP 17.0发布了,不过Maps相关的设计还没有尘埃落定,目前:

                 With Maps you may for instance:

                  -- M0 = #{ a => 1, b => 2}, % create associations

                  -- M1 = M0#{ a := 10 }, % update values

                  -- M2 = M1#{ "hi" => "hello"}, % add new associations

                  -- #{ "hi" := V1, a := V2, b := V3} = M2. % match keys with
                  values

                  For information on how to use Maps please see the Reference
                  Manual.

                  The current implementation is without the following features:

                  -- No variable keys

                  -- No single value access

                  -- No map comprehensions

                  Note that Maps is experimental during OTP 17.0.
     
     
    另外有一个不兼容的情况: OTP-11782  == erts ==
     The external format for Maps has changed in a way that is not  compatible with the format used in OTP 17.0-rc1 and OTP  17.0-rc2.
     
    在这里查看详情:
     
    Change the subtag used for maps from 0xB to 0xF
     
    Maps 模块对应的文档位置

    http://erlang.org/doc/man/maps.html

     
    占坑,后续变动将在此更新.
     
    Learn You Some Erlang 对Maps内容的增补章节 
     
     顺便补几张图:
     
    上面的图看不懂?可以参考下面这篇论文,其中简要介绍了Erlang的Tag-Scheme,或者可以去看下本文的第一篇 http://www.cnblogs.com/me-sa/p/when_we_talk_about_erlang_maps_1.html
     
    On Preserving Term Sharing in the Erlang Virtual Machine
    摘要:In this paper we describe our experiences and argue through examples why flattening terms during copying is not a good idea for
    a language like Erlang. More importantly, we propose a sharing preserving copying mechanism for Erlang/OTP and describe a pub-
    licly available complete implementation of this mechanism. 
     
     
     
     
     
  • 相关阅读:
    C# Thread Lambda
    C#中Invoke的用法
    C#抽象类和抽象方法
    SQL Server2005杂谈(2):公用表表达式(CTE)的递归调用
    改变自己的128种方法
    小技巧
    Linux学习第一章作业.zxs
    Linux学习第二、三章作业.zxs
    Linux 系统管理 04—账号管理
    Mysql中的in和find_in_set的区别?
  • 原文地址:https://www.cnblogs.com/me-sa/p/erlang_maps_part_3.html
Copyright © 2020-2023  润新知