Я очень плохо знаком с lua, но мне нужно немного программировать на lua.
У меня есть следующий код
local Events={}
Events('a')
Из моего грубого понимания, Events
- это таблица, и таблица не может быть вызвана как функция.
Я вставляю вышеприведенные операторы в Intellij Idea с помощью плагина Lua, Intellij Idea с подключением Emmy Lua и ZeroBrane Studio. Ни один из IDE статически не выдает ошибку в коде.
См. Рисунок. Intellij показывает зеленую галочку, указывающую на отсутствие ошибок анализа * stati c. ZeroBrane Studio не показывает никаких предупреждений или ошибок, пока я не нажму кнопку запуска.
https://github.com/mpeterv/luacheck говорит, что код в порядке
>luacheck --version
Luacheck: 0.23.0
Lua: PUC-Rio Lua 5.3
Argparse: 0.6.0
LuaFileSystem: 1.6.3
LuaLanes: 3.10.1
Total: 2 warnings / 0 errors in 1 file
>luacheck untitled.lua
Checking untitled.lua OK
Total: 0 warnings / 0 errors in 1 file
Может кто-нибудь уточнить, почему эти IDE статически не обнаруживают эту простую ошибку? Может ли вызов таблицы иногда быть допустимой операцией?