我有以下代码,问题是我尝试将Double
除以Int
factorial :: Int -> Int
factorial 0 = 1
factorial e = e * (factorial e-1)
sumX :: Double -> Int -> Double
sumX x 0 = (x^0) / (factorial 0)
我怎样才能让它发挥作用?
答案 0 :(得分:6)
一个问题是您的因子函数的括号不正确。你应该写
factorial e = e * factorial (e - 1)
其次,您可以使用fromIntegral
函数将任何整数类型(Integral
类的实例)转换为任何数字类型(Num
类的实例)
sumX x 0 = x ^ 0 / fromIntegral (factorial 0)