作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在寻找其他类似的问题,但我仍然无法解决这里的问题。我会先说,是的,这是作业,但我现在不知道我错在哪里。任务是重写我们给出的递归算法,如果 n 为 0,则返回 1;如果 n 小于 5,则返回 n,否则执行这里的最后一行代码:
alg n = if (n == 0)
then 1
else if (n<5)
then n
else alg(n-1) * alg(n-2) * alg(n-3) * alg(n-4)
我收到的错误是 WinGHCi 中的解析错误(可能是缩进不正确或括号不匹配)。我已经检查了很多关于如何在 Haskell 中正确构造 if 语句的文章,但我仍然是初学者,所以我不知道我哪里出错了。如果有人能够告诉我其中哪些内容是不正确的,以避免将来再犯错误,我将不胜感激。
最佳答案
您单独编写的行没有任何问题,您可以通过将它们复制到新的 Haskell 源文件中来检查。如果 GHC 在这些行之一上报告错误,那么真正的错误可能就在这些行之前,可能是不匹配的括号或 if-then 没有其他或类似的东西。
关于haskell - Haskell 中的 If-Else 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28584303/
我是一名优秀的程序员,十分优秀!