在定义一个字符串列表但也可以是空列表的类型时,我是否必须定义这两种情况:
-type my_type() :: [string()] | [].
或者这就够了:
-type my_type() :: [string()].
答案 0 :(得分:6)
是的,[string()]
包含空列表,因此如果您想要包含空列表,可以使用-type my_type() :: [string()].
。
由于列表是常用的,因此它们具有速记类型符号。类型
list(T)
和nonempty_list(T)
分别具有缩写[T]
和[T,...]
。两个缩写词之间的唯一区别是[T]
可以是空列表,但[T,...]
不能。