我对Haskell相当新,但确实掌握了大部分的基础知识。但有一件事我只是无法弄清楚。考虑我的例子如下:为什么我的Haskell函数不接受负数?
example :: Int -> Int
example (n+1) = .....
这个例子的(n + 1)部分以某种方式阻止了负数的输入,但我无法理解如何。例如..如果输入是(-5),我希望n只是(-6),因为(-6 + 1)是(-5)。测试时输出如下:
Program error: pattern match failure: example (-5)
任何人都可以向我解释为什么这不接受负数?
请注意'n + k'模式将从Haskell语言规范(Haskell 2010)的下一个版本中删除。据我所知,他们很少用于实践(虽然我相信有人会找到一个轶事的例子)。所以我建议不要使用它们。 – 2010-02-12 00:16:18