> On 12/21/06, Julien Gaugaz <gaugaz / l3s.de> wrote: >> > >> > Julien Gaugaz wrote: >> >> Hi! >> >> >> >> It's several hours now that i'm trying to find out what's special >> with >> >> *** for a method name, without success :( >> > >> > That should be your clue. There _isn't_ anything special about "***", >> > whereas the infix operators that exist in Ruby that you can redefine >> > require special treatment by the interpreter. You can't expand the set >> > of operators, and '***' isn't among them. >> Ah, ok, thanks a lot. I understood why i could use '***' as an infix >> operator. But still, there shouldn't be any difference between a call >> like m.*** n and m.triple_star n... But it seems there is since >> m.triple_star works and m.*** don't. >> >> I don't get it. >> > > The basic problem is that ** is right-associative, and * is > left-associative. The existing grammar can't resolve the apparent > conflict. Ah ok! I get it!!!! :-D Thanks a lot! > Also, *** is unreadably nasty, so it's good that you can't name a > method that. :) :-) I found it ok compared to ===. But if the interpreter can't read it... > >