Haskell枚举比较
我定义了一个枚举:Haskell枚举比较,haskell,enums,Haskell,Enums,我定义了一个枚举: data Direction = Clockwise | CounterClockwise deriving (Enum) 变量“direction”的类型为“direction”。进行以下比较时: direction == Clockwise 我得到了这个错误: No instance for (Eq OrbitDirection) arising from a use of `==' In the expression: direction == Clockw
data Direction = Clockwise | CounterClockwise deriving (Enum)
变量“direction”的类型为“direction”。进行以下比较时:
direction == Clockwise
我得到了这个错误:
No instance for (Eq OrbitDirection) arising from a use of `=='
In the expression: direction == Clockwise
这很简单:将
Eq
实例添加到派生实例列表中:
data Direction = Clockwise | CounterClockwise deriving (Enum, Eq)
几乎所有导出的Enum
都应该派生Eq
、Ord
、Show
和Read
。在某些情况下,您可能希望将Generic
添加到该列表中。