小编sat*_*run的帖子

为什么Haskell中的递归成语是"'n + 1'和'n'"而不是"'n'和'n-1'"?

我正在通过Graham Hutton的Haskell书籍,在他的递归章节中,他经常在"n + 1"上进行模式匹配,如:

myReplicate1 0 _ = []
myReplicate1 (n+1) x = x : myReplicate1 n x
Run Code Online (Sandbox Code Playgroud)

为什么这样而不是以下,(1)看起来功能相同,(2)在理解递归发生的事情方面更直观:

myReplicate2 0 _ = []
myReplicate2 n x = x : myReplicate2 (n-1) x
Run Code Online (Sandbox Code Playgroud)

这里有什么我想念的吗?或者只是风格问题?

recursion haskell idioms

7
推荐指数
2
解决办法
494
查看次数

标签 统计

haskell ×1

idioms ×1

recursion ×1