【发布时间】:2016-07-14 09:24:15
【问题描述】:
好的,所以我试图根据您提供给函数的泰勒展开式中的项数来近似 pi。但是我遇到了很多错误,最后一个是无法推断实例:
这是我的代码:
pie :: Rational -> Rational
pie n = 4.0 * (pie_h n 1.0)
pie_h :: Rational -> Rational
pie_h x y = if(x==0) then 0.0
else if ((y mod 2.0)/=0) then (1.0/y)+ pie_h (x-1.0) (y+2.0)
else (-1.0/y)+(pie_h (x-1.0) (y+2.0))
【问题讨论】:
-
您应该发布实际的编译器错误,以及您对错误的不理解之处。您是否搜索过相同的错误消息并尝试在那里应用答案? stackoverflow.com/… ?
-
pie_h 的类型有两个参数,而你给的类型只有一个。您正在使用“mod”,它需要 Integral 类型,但您处于合理的上下文中。
标签: haskell pi taylor-series