R 函数递归
递归
R 还接受函数递归,这意味着定义的函数可以调用自身。
递归是常见的数学和编程概念。它指的是函数调用自己。这样做的好处是,您可以通过遍历数据来达成结果。
开发人员应该非常小心递归,因为很容易编写一个永远不会终止的函数,或者使用过量内存或处理器能力的函数。然而,当编写正确时,递归可以是一种非常高效且数学上优雅的编程方法。
在这个例子中,tri_recursion()
是我们定义的一个函数,用于调用自身(“递归”)。我们使用 k
变量作为数据,每次递归时它都会递减(-1)。当条件不大于 0(即当它为 0)时,递归结束。
对于新开发人员来说,可能需要一些时间才能弄清楚它到底是如何工作的,最好的方法是通过测试和修改它。
实例
tri_recursion <- function(k) { if (k > 0) { result <- k + tri_recursion(k - 1) print(result) } else { result = 0 return(result) } } tri_recursion(6)