From: "David A. Black" Date: 2005-10-12T06:40:07+09:00 Subject: Re: Default argument values for blocks Hi -- On Wed, 12 Oct 2005, Yukihiro Matsumoto wrote: > Hi, > > In message "Re: Default argument values for blocks" > on Wed, 12 Oct 2005 02:25:33 +0900, Yukihiro Matsumoto 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. > > For your information, you can do > > foo = ->(foo="bar"){puts foo} > foo.call > > in 1.9. Is this definitely going to remain? (Please say no.... :-) David -- David A. Black dblack@wobblini.net