Hello stackoverflow社区,
我有一段相当简单的代码,这是一个奇怪的错误。这是我的代码:
multiplyByTwo 0 = 1
myltiplyByTwo x = 2 * multiplyByTwo (x-1)
正如您所看到的,它是简单的递归。我正在获得“功能上的非详尽模式”
multiplyByTwo“异常。我不明白为什么我得到这个,因为我已经设置了最低值multiplyByTwo 0 = 1
因此我猜这个函数在那之后没有调用自己。我说的是我做的不明白为什么这种模式是“非详尽的”。我假设你为x输入的数字是正数。
感谢您提供任何帮助。
答案 0 :(得分:7)
你在第二行有一个拼写错误:
myltiplyByTwo x = 2 * multiplyByTwo (x-1)
^
因此定义了一个新函数,multiplyByTwo
仅为参数0定义。