如何在Haskell中将字符与数字进行比较?
我试图通过以下模式匹配来实现如何在Haskell中将字符与数字进行比较?,haskell,pattern-matching,Haskell,Pattern Matching,我试图通过以下模式匹配来实现 [x| x <- "example string", x > 106] 而且显然不能将ord识别为有效的关键字。不是关键字,它是来自: 两者都返回: Prelude Data.Char> [x | x <- "example string", ord x > 106] "xmplstrn" Prelude Data.Char> filter ((106 <) .
[x| x <- "example string", x > 106]
而且显然不能将ord识别为有效的关键字。不是关键字,它是来自:
两者都返回:
Prelude Data.Char> [x | x <- "example string", ord x > 106]
"xmplstrn"
Prelude Data.Char> filter ((106 <) . ord) "example string"
"xmplstrn"
Prelude Data.Char>[x | x 106]
“xmplstrn”
Prelude Data.Char>filter((106如果您要比较的数字是一个常量,您可以始终转到另一个方向:将该数字转换为字符常量,然后直接与您的字符进行比较:
filter (> 'j') "example string"
您需要从数据导入ord
。Char
ord
不是关键字,它是数据.Char
模块中的函数。
import Data.Char(ord)
myExpr = filter ((106 <) . ord) "example string"
Prelude Data.Char> [x | x <- "example string", ord x > 106]
"xmplstrn"
Prelude Data.Char> filter ((106 <) . ord) "example string"
"xmplstrn"
filter (> 'j') "example string"