From: Benjamin Ter kuile Date: 2009-06-03T06:53:05+09:00 Subject: Re: return in iterator in lambda Robert Dober wrote: > On Tue, Jun 2, 2009 at 10:53 PM, Robert Dober > wrote: >>> �end >> Well I'll tell you anyway... >> >> s/return/break/ >> > But why did you put something there, now it does not work anymore :( > Sorry did not see > > lambda f do > ...each do > break 2 > end || > something > end > This will not work for structures like: data = Array(1..12) func = lambda do |par| answer = 0.0 for z in data answer += Math.log(z) return 2e22 if answer > 19 end answer -= data.size*Math.log10(answer) answer end puts func.call 0.2 puts "after call" I am converting from fortran, which makes it harder to see the easy elegant solution :) The function presented is not the real one, but is more like the one I am trying to implement. -- Posted via http://www.ruby-forum.com/.