小编use*_*424的帖子

在Haskell中创建以下列表[1,2,[3,4],[3,[4,5]]]

我正在尝试创建一个包含子列表的列表,比如[1, 2, [3, 4], [3, [4, 5]]].

好像我应该定义一个新类型.我试过了:

data NestedList a = Int a | List [NestedList a]
Run Code Online (Sandbox Code Playgroud)

但我认为它错了,或者我不知道如何使用它.我对Haskell很新,我不确定这个表达式的含义.

这是否意味着这是有"型" Int与参数a和一个"型" List与参数[NestedList a]

data上面的表达式取自99 Haskell问题的第7次练习的解决方案

(**)展平嵌套列表结构.

data NestedList a = Elem a | List [NestedList a]

flatten :: NestedList a -> [a]
flatten (Elem x) = [x]
flatten (List x) = concatMap flatten x
Run Code Online (Sandbox Code Playgroud)

但是当我打电话给我时flatten [[1,2], 3],ghci我得到了错误

couldn't match expected type 'NestedList a0' with …
Run Code Online (Sandbox Code Playgroud)

haskell nested-lists

3
推荐指数
2
解决办法
4041
查看次数

标签 统计

haskell ×1

nested-lists ×1