我想指定一个只是一个集合的类型,即:
-type itemset() :: set(integer()).
这在erlang中可能吗?
好奇。
答案 0 :(得分:6)
Set在Erlang中不是原始类型,因此没有原始类型规范。但是,如果您有一个定义并导出这种类型的模块,那么您可以从另一个模块引用它。
例如,如果您引用的集合是[{
message : 'Hello World',
phonenumber : '+1415XXXXXXX'
}]
sets
模块中定义的集合,那么您可以像这样使用它:
stdlib
请注意对-type itemset() :: sets:set(integer()).
模块的引用。
您还可以使用sets
和set()
创建自己的-type
定义(如果您需要模块之外的类型)。查看第7.3节:http://erlang.org/doc/reference_manual/typespec.html
完成后,只需将-export_type
替换为您自己定义的sets
所在的模块。