Необычный синтаксис функции LUA - PullRequest
0 голосов
/ 29 июня 2018

Я новый пользователь LUA версии 5.3, и я столкнулся с оператором функции, который немного сбивает с толку. Я пытался найти какое-то объяснение в справочном руководстве, но безрезультатно.

function myfunc.execute()
   print("Hello")
end

Я не понимаю этот синтаксис. Означает ли это добавить ".execute ()"?

Ниже приведен пример файла, который не удается распечатать в таблице myfunc.

local myfunc = {}
myfunc.version = "2.0"

function myfunc.execute()
   print("Hello World!")
end

return myfunc

Когда я запускаю это, я не получаю распечатки: «Hello World!». Я пытаюсь понять, как работает lua при выполнении вышеуказанного сценария в файле. Почему оператор печати не работает?

1 Ответ

0 голосов
/ 29 июня 2018

В вашем примере вы просто определяете метод execute, который находится в таблице myfunc. Удалите строку return myfunc и просто вызовите свою функцию следующим образом:

myfunc.execute()

В слове execute нет ничего особенного. Это не ключевое слово Lua. Это просто имя, которое вы даете функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...