【发布时间】:2023-03-11 12:38:01
【问题描述】:
我已经尝试了几个小时来解决这个问题。 我需要计算使用某个函数发生了多少递归调用:
maximum' :: (Ord a) => [a] -> a
maximum' [] = error "maximum of empty list"
maximum' [x] = x
maximum' (x:xs)
| x > maxTail = x
| otherwise = maxTail
where maxTail = maximum' xs
在此先感谢
【问题讨论】:
-
这不是最方便的事情,但是您可以更改您的函数以获取一个额外的参数,您将在其中存储当前的递归深度,并返回元组
(actualResult, finalRecursionDepth)。 -
这其实是我需要的。你能详细说明一下吗? @迈克尔
-
我已经写了一个答案。将它放在评论中有点太大了(即使最大评论长度允许)。