Hi,

In message "Re: Default argument values for blocks"
    on Wed, 12 Oct 2005 01:56:52 +0900, Daniel Schierbeck <daniel.schierbeck / gmail.com> writes:

|Is there a reason why I can't do this?
|
|   foo = lambda { |foo = bar| puts foo }
|   foo.call
|
|I can't think of any good reason why this isn't valid.

Mostly because yacc does not allow it.  It confuses 

  lambda { |foo = bar| puts foo }

as 

  lambda { |foo = (bar| puts foo) }

and causes syntax error.

							matz.