From: Dan Doel Date: 2003-08-14T09:28:11+09:00 Subject: Re: Overloading () > Here's one construction that becomes possible because () is not an > operator: > > def foo > 3 > end > > foo = foo() > foo += 1 > p foo # ==> 4 > > If () were an operator, the "foo()" syntax would have to be > interpreted as sending a #call message to the value of the local var > "foo". > > I don't know if that's the main justification or a side effect, though. Ah, that's true. I hadn't thought of that. Seems like writing code like that is a bad idea, though, if you want to be able to understand it in the future. :) - Dan