Операция "двоеточие"


Операция "двоеточние" - это способ неявно передать значение self, т.е.

function t.a.b.c:f (params) body end

аналогично

t.a.b.c.f = function (self, params) body end

Действующий пример:

t = {}
function t:sayhello()
    print ("Привет, " .. self.Name)
end

t.Name = "Василий"

-- Три равнозначных вызовы
t:sayhello()

t.sayhello(t)

t['sayhello'](t)