From: "Yemi I. D. Bedu" Date: 2008-05-31T05:07:22+09:00 Subject: Re: [PATCH] lambda with normal block syntax Hello, It seems that you are the winner of the code simplification grand prize. I wonder how we can use that with the method def syntax. Good day. Yemi Bedu P&R Fasteners 325 Pierce St Somerset, NJ 08873 732-302-3600 -----Original Message----- From: Dave Thomas [mailto:dave@pragprog.com] Sent: Monday, May 26, 2008 12:11 PM To: ruby-core@ruby-lang.org Subject: Re: [PATCH] lambda with normal block syntax On May 26, 2008, at 11:01 AM, Yukihiro Matsumoto wrote: > > You should read > > twotimes = -> x {2 * x} > > as "twotimes is 2 times x where x is not yet assigned", here -> works > as incomplete left to right assignment operator. So, I think we're all comfortable with the concept--it's just the notation. The juxtaposition of = and -> just doesn't sit well with most of us. twotimes = \x { 2 * x } reads better to me, as does twotimes = fn x -> { 2 * x } as does twotimes = � x -> { 2 * x } and twotimes = lambda {|x| 2 * x } In fact, given a change that allows block arguments to be like method arguments, then maybe no other change is needed. We can always alias lambda to something shorter, and then everyone is happy n_times = � { |n=2| � {|val| n*val}} twotimes = n_times[2] twotimes[3] Dave