【发布时间】:2012-05-21 07:25:34
【问题描述】:
我经常在 ruby 中迷上的一件事是递归模式。例如,假设我有一个数组,它可能包含数组作为无限深度的元素。所以,例如:
my_array = [1, [2, 3, [4, 5, [6, 7]]]]
我想创建一个可以将数组展平为[1, 2, 3, 4, 5, 6, 7] 的方法。
我知道 .flatten 可以完成这项工作,但这个问题是我经常遇到的递归问题的一个示例 - 因此我正在尝试找到一个更可重用的解决方案。
简而言之 - 我猜这种事情有一个标准模式,但我想不出任何特别优雅的东西。任何想法表示赞赏
【问题讨论】:
标签: ruby recursion design-patterns