And this example would fail again, because there would be no "self" (or at least no valid self).
Code:
function Table:Foo( arg )
self.bar= self.bar+ arg;
end
is just syntactic sugar for
Code:
Table.Foo = function( self, arg )
self.bar = self.bar + arg;
end
and
is the same as
Code:
Table.Foo( Table, 1 );