加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 什么是递归,它是如何工作的?

发布时间:2020-12-16 20:31:22 所属栏目:百科 来源:网络整理
导读:有人可以解释什么是完全递归的(以及它如何在Ruby中工作,如果这不是太多要求).我遇到了一个冗长的代码段,依赖于递归,它使我困惑(我现在失去了,这并不完全相关). 解决方法 递归函数/方法调用自身.对于要终止的递归算法,您需要一个基本情况(例如函数不递归调用
有人可以解释什么是完全递归的(以及它如何在Ruby中工作,如果这不是太多要求).我遇到了一个冗长的代码段,依赖于递归,它使我困惑(我现在失去了,这并不完全相关).

解决方法

递归函数/方法调用自身.对于要终止的递归算法,您需要一个基本情况(例如函数不递归调用的条件),并且您还需要确保在每个递归调用中更接近该基本情况.我们来看一个非常简单的例子:
def countdown(n)
  return if n.zero? # base case
  puts n
  countdown(n-1)    # getting closer to base case 
end               

countdown(5)
5
4
3
2
1

一些问题可以用递归非常优雅地表达,例如,以递归的方式描述了很多数学函数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读