On 04/08/05, David A. Black <dblack / wobblini.net> wrote:
> Hi --
> 
> On Thu, 4 Aug 2005, [ISO-8859-1] Brian Schröäer wrote:
> 
> > [snip]
> >
> > Then why don't we use two different delimiters, e.g. (,) which would
> > even unify with method declaration.
> >
> > { (a, b=12) a+b }
> > is quite clear, and counting nesting parenthesis has to be done in any
> > parser so this
> >
> > { (a=12, (b,c) = [1,2]) a+b**c }
> > is also possible
> 
> However, { (a) } would be ambiguous. (I don't particularly mind living
> without default values in blocks, but I think () wouldn't fly.)

One could disambiguate this the same way it is done with methods:

{ () (a) }

like in

def anonymus() (a) end

or one could use a differnt pair of symbols, though I don't really like that.

{ <a, b=12> a+b }

Though it's easier to type on a german keyboard. (Thats also one of
the reasons I thoroughly dislike any use of the backslash \. Its just
really inkonvenient to me ;)

regards,

Brian

-- 
http://ruby.brian-schroeder.de/

Stringed instrument chords: http://chordlist.brian-schroeder.de/