【发布时间】:2012-02-25 06:31:08
【问题描述】:
我见过一些在参数中使用函数的 Haskell 代码示例,但我永远无法让它为我工作。
示例:
-- Compute the nth number of the Fibonacci Sequence
fib 0 = 1
fib 1 = 1
fib (n + 2) = fib (n + 1) + fib n
当我尝试这个时,我得到了这个错误:
Parse error in pattern: n + 2
这只是一个坏例子吗?还是我必须做一些特别的事情才能完成这项工作?
【问题讨论】:
-
这些所谓的 (n + k) 模式在前一段时间被 Haskell 禁止。将第三行替换为:
fib n = fib (n - 1) + fib (n - 2)。 -
NB 还有另一种方法可以查看等式左侧的函数调用:ViewPatterns。我很惊讶它们并不常见。
标签: function haskell parameters