Hello stackoverflow社区,
我有一段相当简单的代码,这是一个奇怪的错误 . 这是我的代码:
multiplyByTwo 0 = 1
myltiplyByTwo x = 2 * multiplyByTwo (x-1)
正如您所看到的,它是简单的递归 . 我得到了"Non-exhaustive pattern in function multiplyByTwo"例外 . 我不明白为什么我得到这个,因为我已经设置了最低值 multiplyByTwo 0 = 1
因此我猜这个函数在那之后没有调用自己 . 我所说的是我不明白为什么这种模式是"non-exhaustive" . 我假设您为x输入的数字是正数 .
谢谢你能给予的任何帮助 .
1 回答
你在第二行有一个拼写错误:
因此,它定义了一个新函数,并且只为参数0定义了
multiplyByTwo
.