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输入的数字是正数.
谢谢你能给予的任何帮助.
你在第二行有一个拼写错误:
myltiplyByTwo x = 2 * multiplyByTwo (x-1)
^
Run Code Online (Sandbox Code Playgroud)
因此,它定义了一个新函数,并且multiplyByTwo只为参数0定义.