L'operatore

L'operatore : viene utilizzato per chiamare i metodi di un oggetto. L'uso dell'operatore : richiede che il metametodo __index sia definito come metatable stesso. Se il metametodo __index è impostato sulla metatabella stessa, il risultato è quello di tradurre t:test(123) in mt["test"]t,123), dove mt è la metatabella che è stata definita usando set metatabella per la tabella t.

Esempio
mt={}
mt.__index = mt
mt.test = function(self,value)
if self.total == null then
self.total = 0
end
self.total = self.total + value
return self.total

end	
t={}	
setmetatable(t,mt)	--> x = 123
x = t:test(123)	
y = t:test(1)	--> y = 124
z = t.total	--> z = 124