一个非常简单的函数的"功能非穷举模式"?

For*_*One -1 recursion haskell

Hello stackoverflow社区,

我有一段相当简单的代码,这是一个奇怪的错误.这是我的代码:

multiplyByTwo 0 = 1
myltiplyByTwo x = 2 * multiplyByTwo (x-1)
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它是简单的递归.我得到了"函数multiplyByTwo中的非详尽模式"异常.我不明白为什么我得到这个,因为我已经设置了最低值,multiplyByTwo 0 = 1因此我猜测该函数在该点之后没有调用自身.我所说的是,我不明白为什么这种模式是"非详尽的".我假设您为x输入的数字是正数.

谢谢你能给予的任何帮助.

Dan*_*her 7

你在第二行有一个拼写错误:

myltiplyByTwo x = 2 * multiplyByTwo (x-1)
 ^
Run Code Online (Sandbox Code Playgroud)

因此,它定义了一个新函数,并且multiplyByTwo只为参数0定义.