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.