David A. Black wrote:
> Hi --
>
> On Wed, 23 Nov 2005, Jeff Wood wrote:
>
>> Heh, and to think the only reason I did it was because I figured
>> just having the { [] } would confuse things ( badly formed hash
>> declaration ) so I put the goalposts in just to be sure that it saw
>> things as a block body ...
>>
>> I'll gladly take credit, I'm glad I'll be remembered for something
>> now ( heh, need to get that into the rubyscore app )... for my
>> "empty goalpost" strategem ;) . I'm not Dave Thomas or DHH or _why
>> ... or matz ... or any of the countless others that have helped me
>> better myself as a Rubyist, but hopefully one day I'll get to have a
>> big impact ... and pay them all back. I thank you all everyday I get
>> to play with Ruby.
>>
>> Anyways, You could seperate them if you didn't want them to look
>> like or ... like ...
>>
>> { | | [] } ... although that's kinda ugly to me.
>
> No argument there :-)
>
>> I'd be just as happy to use the new block syntax ->{ [] } ... when
>> is that going to see the light of day ???
>
> I think I'm not alone is saying: hopefully never :-)  Anyway, you can
> just do:
>
>    Hash.new { [] }
>
> It's a pretty common idiom, and the block is unambiguously a block.
> (If it were a hash argument it would have to be in parentheses.)

Note though that this idiom will most likely lead to surprising results
wrt the OP's requirement. :-)

Cheers

    robert