3
當定義一個類型,這將是一個字符串列表,也可以是一個空列表,我必須明確這兩種情況下是這樣的:輸入[string()]是否覆蓋空列表?
-type my_type() :: [string()] | [].
,或者這是不夠的:
-type my_type() :: [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,...]
不能。