From: "David A. Black" Date: 2005-10-13T22:46:42+09:00 Subject: Re: Default argument values for blocks Hi -- On Thu, 13 Oct 2005, Eric Mahurin wrote: > Of course the other reason for the new syntax is a shortented > lambda syntax. I'd say just to do what was being done > previously in 1.9: use {} and resolve ambiguities with {} hash. > The simple solution to resolve ambiguities is in this lambda, > require ||. If you didn't want the ||, you would have to use > the equivalent: {|*| ... }. When the parser encounters a "{", > you only have to lookahead one token to see whether it is a > lambda (next token: "|") or a hash (next token: not a "|"). No, please not that. I want to know, when I look at: obj.meth { exactly what it is, as I can now. I don't want to have to read ahead to the secret punctuation signal. There must be some way out of this that doesn't involve adding all sorts of significant punctuation to the language. Or is there? I'm starting to wonder whether maybe Ruby has hit the point where, short of \&*{[ and friends, there are no ways left to represent all the states and options people want. I literally can't remember the last time an enhancement (other than just a method addition) was suggested that didn't involve more punctuation. I think Ruby's cleanness of line is a *major* reason that people are attracted to Ruby, and it won't take more than a few new punctuation workarounds to make a serious dent in that look. David -- David A. Black dblack@wobblini.net