输入[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,...]
不能。