小编Atr*_*tas的帖子

无法弄清楚这个简单的兴趣函数需要什么类型的签名

所以我试图做一个递归的简单兴趣函数,我一生都无法弄清楚我需要使用什么类型的签名。这是我的代码:

interest :: (Fractional a) => a-> a-> a-> a
interest p r 0 = p
interest p r t = (1 + (p/100))*interest p r (t-1)
Run Code Online (Sandbox Code Playgroud)

这段代码给了我错误“无法从上下文中的文字‘0’中推导出(Eq a):分数 a 由类型签名的边界为:interest :: forall a。分数 a => a -> a ->一个 -> 一个“

但是当我尝试将约束更改为 (Eq a) 时,它告诉我“可能的修复(分数 a)

有人可以帮我吗?

haskell

1
推荐指数
1
解决办法
87
查看次数

标签 统计

haskell ×1