mar*_*ark 4 parameters haskell function
我已经看到了一些在参数中使用函数的Haskell代码示例,但我永远无法让它为我工作.
例:
-- Compute the nth number of the Fibonacci Sequence
fib 0 = 1
fib 1 = 1
fib (n + 2) = fib (n + 1) + fib n
Run Code Online (Sandbox Code Playgroud)
当我尝试这个时,我得到这个错误:
Parse error in pattern: n + 2
Run Code Online (Sandbox Code Playgroud)
这只是一个坏榜样吗?或者我必须做一些特别的事情来使这项工作?
Lan*_*dei 13
您所看到的是一种特殊类型的模式匹配,称为"n + k模式",已从Haskell 2010中删除.请参阅什么是"n + k模式"以及为什么它们被禁止使用Haskell 2010?和http://hackage.haskell.org/trac/haskell-prime/wiki/RemoveNPlusK