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 に答える