菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

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

×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持