我正在尝试声明一个自定义" Set" Haskell中可以保存元素的数据类型,所以我尝试了以下声明:
data Set e = Set [e]
如何声明此类型的值?
答案 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]