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

前端之家收集整理的这篇文章主要介绍了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

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

猜你在找的Ruby相关文章