我是Erlang的新手,并试图弄清楚如何定义类型,以便它们可以用作其他复杂类型的构建块。用于defniing简单类型
-type macaddress():: <<_:48>>.
可以使用。但是假设我们想要定义src和dst mac地址并使用简单的mac地址作为基本构建块并在其基础上构建。那么我们将如何做到这一点,
-type srcmacaddress(Macaddress):: [{Macaddress}].
-type dstmacaddress(Macaddress)::[{Macaddress}].
没关系,因为我希望Macaddress是之前定义的macaddress类型。
如果您有任何想法和感谢,请告诉我。
答案 0 :(得分:4)
您使用此类型的方式与使用内置类型的方式相同,编写macadress()
作为复杂类型定义的一部分:
-type srcmacaddress() :: [{macadress()}].
(假设你真的想要一个单元素元组的列表,其中这个元素是macadress()
。)
哑巴使用示例:
-spec foo(macadress()) -> srcmacaddress().
foo(X) -> [{X}].