Haskell错误,预期类型

时间:2014-07-19 04:57:04

标签: haskell

我在这段代码上收到此错误!

esImpar :: Integer -> Bool
esImpar a = if (a mod 2) /= 0 then True
        else False

错误:无法匹配预期类型(整数 - >整数 - >整数)                             - > (整数 - >整数) - >整数 - >整数'                 实际类型为Integer

函数“a”应用于三个参数

但它的类型Integer'没有

在(/ =)的第一个参数中,即(一个来自整数2的mod)

在表达式中:(a mod 2)/ = 0

1 个答案:

答案 0 :(得分:7)

mod本身只是一个函数,而不是一个运算符;您可以将其用作mod a 2或中缀为a `mod` 2。 (这里您尝试使用a作为函数,正如错误消息所示。)