输入[string()]是否覆盖空列表?

问题描述:

当定义一个类型,这将是一个字符串列表,也可以是一个空列表,我必须明确这两种情况下是这样的:输入[string()]是否覆盖空列表?

-type my_type() :: [string()] | []. 

,或者这是不够的:

-type my_type() :: [string()]. 

是的,[string()]包含空列表,因此如果要包含空列表,则使用-type my_type() :: [string()].就可以。

因为列表是常用的,所以它们有简写型符号。类型list(T)nonempty_list(T)分别具有简写[T][T,...]。两个shorthands之间的唯一区别是[T]可以是一个空列表,但[T,...]不能。

Source