【问题标题】:Map -spec in erlangerlang中的地图-spec
【发布时间】:2014-06-04 05:28:52
【问题描述】:

我希望在项目中使用新的 erlang 映射,但我想确保正确-spec 我所做的一切。所以我的问题是,这个的语法是什么?有什么类似的记录可以指定字段类型吗?还是我只使用map()(这甚至是正确的类型规范吗?)

【问题讨论】:

    标签: map erlang specifications


    【解决方案1】:

    是的,map() 是一种指定地图类型的方法。另一个是#{},与map() 一样,表示任意大小的地图。您还可以使用一对或多对 Type => Type 指定 #{ Type => Type },如 Erlang Types and Function Specifications page 中所述。另外,请查看 Erlang 源代码中 source code for the maps1 test 中的 can_pkt() 类型,因为它指定了类似记录的映射类型。

    【讨论】:

    • 我查看了类型和功能页面,但正在寻找关于地图的部分。没想到在一般地区看。谢谢!
    • Erlang Types and Function Specifications page 的重要一点是强制关联看起来像 #{ T1 := T2 },例如始终只将原子映射到字符串的映射是 #{ atom() := string() }
    • @SimonShine 你知道#{ T1 := T2 } 是否也允许空地图吗?
    • @filmor:我当然会这么认为。空地图是微不足道的多态性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-31
    • 2015-07-25
    • 2016-02-17
    • 1970-01-01
    • 1970-01-01
    • 2013-02-05
    相关资源
    最近更新 更多