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)
自己动手试一试 »