From: "Jesús Gabriel y Galán" Date: 2009-01-14T19:34:48+09:00 Subject: Re: Higher order ruby On Wed, Jan 14, 2009 at 11:14 AM, zslevi wrote: > foo = lambda {|x| > return lambda {|y| return x+y}} > > puts (foo.call(3)).call(4) > > It works finally, but it's just too verbose. > Can anyone suggest a shorter, programmer friendlier way of writing > this? As said before you don't need the returns, and you don't need so many parentheses. Can you let us know if this works for you? irb(main):004:0> foo = lambda {|x| lambda {|y| x + y}} => # irb(main):005:0> foo.call(3).call(4) => 7 irb(main):006:0> puts foo.call(3).call(4) 7 => nil irb(main):007:0> puts foo[3][4] 7 => nil Jesus.