The colon versus the dot notation is what they like to call "syantactic sugar." It's short hand for passing the table as the first argument.
All these are the same:
Code:
function Table.func(self,...)
end
Table.func(Table,...)
Table:func(...)
function Table:func(...)
end
Table.func(Table,...)
Table:func(...)