当Q大小未知时,如何递归地调用方法,如:q[0].from(q[1].from(q[2].from(q[3])))中的Ruby?
发布于 2016-05-30 07:35:32
您可以为此使用inject:
q.reverse_each.inject do |acc, value|
value.from(acc)
end要使事情按正确的顺序进行,就需要反过来。第一次调用块时,acc是来自q的最后一个元素,您的示例中的q[3]和值是q[2]。在下一次迭代中,值为q[1],而acc是前一个块(q[2].from(q[3]))的结果,因此它计算
q[1].from(q[2].from(q[3]))诸若此类
https://stackoverflow.com/questions/37519600
复制相似问题