From: Daniel Brockman Date: 2005-08-07T05:54:23+09:00 Subject: Re: new block notation Just a random thought. If we can't do fun(...) { ...} because we can't add a new keyword, what about this? make_counter = do(start=0) { do { start += 1 } } counter = make_counter[5] 5.times { puts counter.call } I haven't considered backwards-compatibility, or much anything else for that matter. It just occured to me. Of course, it would prevent this foo.find lambda { default } do ... end so you'd have to put in parens: foo.find(do { default }) { ... } (In general, you'd need parens around any literal anonymous function passed to a method.) I don't know if I like it. At least it's shorter than both `lambda' and `proc', and looks less line-noisy than `->'. -- Daniel Brockman So really, we all have to ask ourselves: Am I waiting for RMS to do this? --TTN.