R 是否支持正确的尾递归,我在哪里可以找到有关此的文档?
问问题
1987 次
3 回答
18
很容易发现 R 不支持尾递归优化:
f <- function(n) {
if (n != 0) f(n-1)
}
f(100000)
# Error: evaluation nested too deeply: infinite recursion / options(expressions=)?
如果尾调用针对跳转进行了优化,那么该函数将毫无问题地终止。
于 2012-11-03T12:06:13.013 回答
6
不,R 不支持尾递归。
于 2012-11-03T12:04:36.717 回答
6
这个参考,很容易在谷歌上找到,表明 R 不支持尾递归并解释了原因。
于 2012-11-03T12:04:50.567 回答