Donc, je suis en train de faire quelque chose comme ceci:Recursion rendement
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
appeler comme:
a = func([1,2,3,4,5],0) do |x,y|
x+y
end
Est-il possible de faire quelque chose comme ça? Je continue d'obtenir aucun bloc donné (rendement) (LocalJumpError).
J'ai même essayé de faire quelque chose d'un peu différent:
def func(x,y)
func(x,y) do |tail|
..
end
end
mais pas de chance
Merci.
Intéressant. En près de 6 ans à faire Ruby, je n'ai jamais vu cette question surgir avant, et maintenant la même question est posée par deux personnes différentes de (ce qui ressemble) deux côtés opposés du globe en seulement 10 heures de l'autre: [ Problème avec les blocs Ruby] (http://StackOverflow.Com/q/4259652/) –
C'est intéressant. Ils sont des questions similaires, sauf le mien a la fonction récursive dans le rendement – Matt