[英]Reorder the Ord of chars in Haskell?
无论如何我可以在 Haskell 程序中调整常规字符的Ord
(顺序),例如'a' > 'b'
?
如果没有,你们对我如何最好地复制这个功能有什么建议吗? 我试过Data magicLetters = 'b' | 'a' | 'c' deriving (Show, Ord)
Data magicLetters = 'b' | 'a' | 'c' deriving (Show, Ord)
Data magicLetters = 'b' | 'a' | 'c' deriving (Show, Ord)
,但该语法并没有走得太远。
根据您将要使用它的原因和方式,您可以尝试使用包装器类型:
newtype MyChar = MyChar Char
instance Eq MyChar where
MyChar x == MyChar y = x == y
instance Ord MyChar where
MyChar x <= MyChar y = x >= y -- reverses the order
如果您需要更具体的逻辑,例如a > b
,但b < c
,则可能需要一些排序表。
编辑:正如@leftaroundabout 指出的那样,上面已经作为Down
存在
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.