在erlang中映射-spec

时间:2014-06-03 20:04:26

标签: map erlang specifications

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

1 个答案:

答案 0 :(得分:7)

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