,所以我试图做这样的事情:递归产量
def func(x,y)
if x.length == 1 then
n = x.pop()
yield(n,y)
else
n = x.pop()
yield(n,func(x,y))
end
end
调用它像:
a = func([1,2,3,4,5],0) do |x,y|
x+y
end
是否有可能做这样的事情?我一直没有给出任何块(yield)(LocalJumpError)。
我甚至尝试做的东西有点不同:
def func(x,y)
func(x,y) do |tail|
..
end
end
,但没有运气
感谢。
有趣。在做Ruby近6年的时间里,我从来没有见过这个问题出现过,现在同样的问题在10个小时内被两个不同的人从(看起来像)相反的两个方面提问:[ Ruby块的问题](http://StackOverflow.Com/q/4259652/) – 2010-11-24 14:31:29
这很有趣。他们是类似的问题,除了我的产量在递减功能 – Matt 2010-11-24 18:44:14