2

尝试解决此页面上的练习 7我想定义数据类型以写入一些值,例如:

(List [Elem 1, List [Elem 2, List [Elem 3, Elem 4], Elem 5]])

嵌套列表,任意长度,任意深度。

我试过这段代码:

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

但它不编译:

Parse error: naked expression at top level

如何做呢?

4

1 回答 1

8

而不是包含以下内容的文件:

data List a = Elem a | List [List a]
(List [Elem 1, List [Elem 2, List [Elem 3, Elem 4], Elem 5]])

尝试包含以下内容的文件:

data List a = Elem a | List [List a]
sampleListValue = List [Elem 1, List [Elem 2, List [Elem 3, Elem 4], Elem 5]]

顺便说一句,标准库中也提供了一种非常相似的类型(我知道您不想使用它,因为它是一种学习练习,但请记住它是可用的)。

于 2012-08-23T13:48:56.930 回答