【发布时间】:2016-11-22 01:28:30
【问题描述】:
当定义一个类型是字符串列表但也可以是一个空列表时,我是否必须像这样定义这两种情况:
-type my_type() :: [string()] | [].
或者这样就够了:
-type my_type() :: [string()].
【问题讨论】:
当定义一个类型是字符串列表但也可以是一个空列表时,我是否必须像这样定义这两种情况:
-type my_type() :: [string()] | [].
或者这样就够了:
-type my_type() :: [string()].
【问题讨论】:
是的,[string()] 包含空列表,因此如果您想包含空列表,请使用 -type my_type() :: [string()].。
因为列表是常用的,所以它们具有速记类型符号。
list(T)和nonempty_list(T)类型分别具有简写[T]和[T,...]。这两个简写的唯一区别是[T]可以是一个空列表,但[T,...]不能。
【讨论】: