From: Stu Date: 2011-04-20T06:43:33+09:00 Subject: Re: anonymous closures with Proc,new, lambda and -> --20cf303f69d460cbb304a14c605a Content-Type: text/plain; charset=ISO-8859-1 how would i break it down to two functions? example: >> inc = lambda {|n|n+=1} => # >> counter = lambda {n=1; n=inc.call(n)}.call(&inc) => 2 >> counter[] ArgumentError: wrong number of arguments(0 for 1) On Tue, Apr 19, 2011 at 3:15 AM, Brian Candler wrote: > Brian Candler wrote in post #993704: > > And you can do the same without explicitly binding 'counter_maker' > > either: > > > > c = lambda { |init| lambda { init += 1 } }.call(200) > > c.call # 201 > > c.call # 202 > > Which of course simplifies to: > > c = lambda { init = 200; lambda { init += 1 } }.call > c.call # 201 > c.call # 202 > > --20cf303f69d460cbb304a14c605a--