由于调用不存在的函数(有时由于名称中的拼写错误,有时是由于重组代码,...),我有几次遇到Lua运行时错误。
所以,我想知道在运行时之前是否有办法识别对非定义函数的调用?
我找到了一些脚本来识别未定义的全局变量,但它们似乎只能在一个文件中工作(我的项目有几十个lua文件)。
更新:以下是一个例子:
b.lua
local b = {}
b.myTest = function()
end
return b
main.lua
local function myFunc()
end
local myModule = require("b")
myFunc() -- works
myfunc() -- error
myModule.myTest() -- works
myModule.mytext() -- error
所以,我想在运行代码之前运行某种脚本/预处理器来识别这2个错误(这会产生运行时错误)
更新2
@ hjpotter92提到了ZeroBrane IDE,我看了一下。它依赖于luacheck来进行静态分析,所以我在我的Sublime上安装了SublimeLinter-luacheck,现在我可以在同一个文件中检测未定义的函数。不幸的是,它没有检测到在表或外部模块上定义的那些。