[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Question about __index and classes
- From: Timothy Hunter <rmagick@...>
- Date: Sat, 27 Aug 2011 19:06:01 -0400
On Aug 27, 2011, at 6:52 PM, Michael Kirsch wrote:
> There is something I don't understand about the way __index and
> metamethods work. The way I understand, the "." operator looks in the
> table itself and the ":" operator looks directly in the metatable. If
> so, then why is it necessary to say:
> MyClass.__index = MyClass
> for you to be able to use ":"?
> If ":" looks right in the metatable, then it shouldn't be needed. To
> me it seems like what it would do is let you call metamethods using
> the "." operator, but it doesn't work that way for some reason.
That's not correct. o:f(p) is syntactic sugar for o.f(o,p) where p is 0 or more arguments. That's all.