List 此类型定义是否处理空列表?
我正在回答Haskell的99个问题。然而,我已经到了他们定义类型的地步List 此类型定义是否处理空列表?,list,haskell,List,Haskell,我正在回答Haskell的99个问题。然而,我已经到了他们定义类型的地步 data NestedList a = Elem a | List [NestedList a] 据我所知,它不会处理空列表(即[]) 但在他们的示例测试中,他们展示了 *Main> flatten (List []) [] 这种类型包括空列表吗?若然,原因为何 如果没有,并且这是网站的一个错误,那么如何编写处理空列表的嵌套列表类型呢?数据类型NestedList a包含类型Elem a的元素,或者类型list[
data NestedList a = Elem a | List [NestedList a]
据我所知,它不会处理空列表(即[]
)
但在他们的示例测试中,他们展示了
*Main> flatten (List [])
[]
这种类型包括空列表吗?若然,原因为何
如果没有,并且这是网站的一个错误,那么如何编写处理空列表的嵌套列表类型呢?数据类型
NestedList a
包含类型Elem a
的元素,或者类型list[NestedList a]
的元素
首先,你似乎已经明白了。不过,第二个参数有一个
嵌套列表a
的列表(正常排序)。这可以是任何列表,包括[]
。因此,List[]
是一个有效的NestedList
,就像List[Elem 5]
,或者List[Elem 5,List[Elem 3,Elem 2]
,啊,谢谢你-我假设因为List
声明中填充了某种东西,这意味着它是一个或多个。。。这在我写这篇文章的时候没有意义,因为它们只是类型。再次感谢。