【发布时间】:2019-02-28 05:14:55
【问题描述】:
所以,我尝试做的是递归地定义一个函数,如果我从一个金额开始,它会计算n年后我有多少钱a 并每年获得 p% 的利息。
interest (n,a,p)
| n > 0 = interest (n-1,a,p)
where a = (a*p)/100
| otherwise = a
它给了我这个错误:
E:\\Module1\week3\scripts.hs:35:2: error: parse error on input `|'
|
35 | | otherwise = a
| ^
谁能告诉我我做错了什么? 谢谢。
【问题讨论】:
-
虽然这不是错误,但定义不是“curried”的函数在 Haskell 中相当少见。通常函数定义为
interest n a p = ...,因此使用interest (n-1) a p调用。