On Jan 14, 2008, at 10:25 AM, Todd Benson wrote:

> So operators that you can redefine and execute as a method cannot
> except a block as a general rule of thumb?
>
> I would think foo[i] { } would be parsed as (foo[i] { }) as a single
> piece, especially if you defined it to receive a block.
>


Ruby is smart so you don't have to be. But here, it works against us.

foo.[](i) do
	puts 42
end

Mess around with removing the dot, putting the i in between the  
brackets, etfc.