freeswitchforum.com
https://freeswitchforum.com/

Функции для объектов LUA
https://freeswitchforum.com/viewtopic.php?f=6&t=131
Страница 1 из 1

Автор:  freeneutron [ 22 янв 2013 02:24 ]
Заголовок сообщения:  Функции для объектов LUA

Скажите, почему на LUA функции для объекта session вызываются через ":" (session:streamFile), а для freeswitch - через "." (freeswitch.consoleLog) ?

Автор:  joohny [ 22 янв 2013 20:34 ]
Заголовок сообщения:  Re: Функции для объектов LUA

Оператор : (двоеточие) позволяет Lua автоматически передать "self" параметр в функцию, реализуя инкапсуляцию:
Код:
 t = {}
function t:sayhello()
    print ("Привет, " .. self.Name)
end

t.Name = "Василий"
t:sayhello() -- вызов "метода"
t.sayhello(t) -- равнозначно предыдущему
t['sayhello'](t) -- равнозначно предыдущему

Автор:  freeneutron [ 23 янв 2013 07:29 ]
Заголовок сообщения:  Re: Функции для объектов LUA

Понятно. Спасибо

Страница 1 из 1 Часовой пояс: UTC + 4 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/