Re:... because Ruby isn't terse enough yet
by mdemare on Sunday October 28, 2007 @12:19PM
(#73454)
Actually it doesn't work - calling the returned lambda should increment n - your implementation doesn't.
[ Parent
| on HN ]
That holds true for the given ruby implementation as well, since n is incremented only in the scope of foo and not in the calling scope.
def foo (n)
lambda {|i| n += i }
endn=5
a = foo(n)
puts a.call(3) #prints 8
puts n # still prints 5. n is not incremented
I agree that the python one is strictly not according to the problem definition, but for all practical purposes both python equivalents are the same, aren't they? or am I missing something?