【发布时间】:2011-05-14 21:15:43
【问题描述】:
所以我正在尝试做这样的事情:
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 小时内就提出了完全相同的问题:@ 987654321@
-
这很有趣。它们是类似的问题,除了我的在产量中具有递归函数