compLetters :: Char -> Char -> Char
compLetters a b = chr (min (ord a ord b))
我正在尝试与字符进行比较,以查看哪一个出现在字母表中。我尝试使用上面的代码执行此操作但出现错误。任何帮助表示感谢,谢谢。
答案 0 :(得分:9)
由于Char
实施Ord
,您可以直接使用min
:
firstChar :: Char -> Char -> Char
firstChar a b = min a b
或更简单
firstChar = min
或者您可以在代码中使用min
您的代码失败的原因是语法。
min (ord a ord b)
解析为
min (((ord a) ord) b)
其中说ord
需要3个参数而min
需要1个参数,但这并不是类型检查。相反,你应该
min (ord a) (ord b)
答案 1 :(得分:0)
Char是Ord的一个实例,所以你可以使用(<)。
> 'a' < 'b'
True