Erlang 类型[string()]是否包含空列表?

Erlang 类型[string()]是否包含空列表?,erlang,dialyzer,Erlang,Dialyzer,当定义一个类型时,它将是一个字符串列表,但也可以是一个空列表,我是否必须这样定义这两种情况: -type my_type() :: [string()] | []. 或者这就足够了: -type my_type() :: [string()]. 是的,[string()]包含空列表,因此使用-键入my_type():[string()]。可以包含空列表 因为列表是常用的,所以它们有速记类型的符号。类型list(T)和nonempty\u list(T)分别具有缩写[T]和[T,…][/cod

当定义一个类型时,它将是一个字符串列表,但也可以是一个空列表,我是否必须这样定义这两种情况:

-type my_type() :: [string()] | [].
或者这就足够了:

-type my_type() :: [string()].
是的,
[string()]
包含空列表,因此使用
-键入my_type():[string()]。
可以包含空列表

因为列表是常用的,所以它们有速记类型的符号。类型
list(T)
nonempty\u list(T)
分别具有缩写
[T]
[T,…][/code>。这两种速记的唯一区别是
[T]
可以是空列表,但
[T,…]
不能