这是我的程序代码:
funct :: Double -> Double
funct x = 3/(x^2+1)
zetaRange :: (Int, Int) -> [Double]
zetaRange (x,y) = [ 0.01 * funct n | n <- [x..y] ]
和错误,我得到的是:
无法将预期类型‘Double’与实际类型‘Int’相匹配 在“funct”的第一个论点中,即“n” 在“(*)”的第二个论点中,即“funct”
我是haskell的新手,所以试图修复这个错误是不成功的。funct正在返回Double,所以我不明白为什么error说它的实际类型是Int。求你了救命!
发布于 2016-11-23 10:18:34
您需要将Int
n
转换为Double
zetaRange (x,y) = [ 0.01 * funct (fromIntegral n) | n <- [x..y] ]
https://stackoverflow.com/questions/40761424
复制相似问题