Haskell声明并使用" Set"数据结构

时间:2015-05-27 20:51:13

标签: haskell

我正在尝试声明一个自定义" Set" Haskell中可以保存元素的数据类型,所以我尝试了以下声明:

data Set e = Set [e]

如何声明此类型的值?

1 个答案:

答案 0 :(得分:2)

要创建此类型的值,您需要将列表传递给构造函数Set

> data Set e = Set [e]
> let myset :: Set Int; myset = Set [1, 2, 3]

要使用它,您可以在构造函数上进行模式匹配,就像任何其他数据类型一样

> let len :: Set e -> Int; len (Set es) = length es
> len myset
3

如果您不在ghci,则不需要let

myset :: Set Int
myset = Set [1,2,3]