你能在typespec中为set()指定一个类型吗?

时间:2016-04-04 22:42:41

标签: erlang

我想指定一个只是一个集合的类型,即:

-type itemset() :: set(integer()).

这在erlang中可能吗?

好奇。

1 个答案:

答案 0 :(得分:6)

Set在Erlang中不是原始类型,因此没有原始类型规范。但是,如果您有一个定义并导出这种类型的模块,那么您可以从另一个模块引用它。

例如,如果您引用的集合是[{ message : 'Hello World', phonenumber : '+1415XXXXXXX' }] sets模块中定义的集合,那么您可以像这样使用它:

stdlib

请注意对-type itemset() :: sets:set(integer()). 模块的引用。

您还可以使用setsset()创建自己的-type定义(如果您需要模块之外的类型)。查看第7.3节:http://erlang.org/doc/reference_manual/typespec.html 完成后,只需将-export_type替换为您自己定义的sets所在的模块。