2014-07-19 138 views
-1

我得到这个错误代码!Haskell错误,预期类型

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

错误:不能匹配预期类型(Integer - >整数 - >整数) - >(整数 - >整数) - >整数 - >整数” 与实际类型整数

函数`a '施加到三个参数,

但其类型整数' 现在没有

在(/ =),即第一个参数(国防部fromIntegral 2)

在表达式:(模2)/ = 0

回答

7

mod本身仅仅是一个函数,而不是一个操作者;你可以使用它作为mod a 2或中缀a `mod` 2。 (这里您试图使用a作为函数,如错误消息所述。)