繁体   English   中英

在 Haskell 中重新排序字符顺序?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM