ZeroBrane的分析:"未知的全局变量"在库对象上

时间:2015-04-05 22:53:13

标签: lua marmalade zerobrane marmalade-quick

我开始在ZeroBrane Studio中使用Project / Analyze进行Marmalade Quick项目,我觉得让我直接了解全局和本地范围非常有用。

这是一个烦恼:它指向库 - 基本上 - 作为未定义的全局:

.../resources/main.lua(11): first use of unknown global variable 'system'
.../resources/main.lua(12): first use of unknown global variable 'json'
.../resources/main.lua(13): first use of unknown global variable 'device'
.../resources/main.lua(14): first use of unknown global variable 'physics'
.../resources/main.lua(15): first use of unknown global variable 'color'
.../resources/main.lua(16): first use of unknown global variable 'director'
.../resources/main.lua(17): first use of unknown global variable 'key'

有没有办法来抑制库(或特定变量名)的警告?

作为部分步骤,我开始把它放在文件的开头 - 它没有解决投诉,只是将它们提升到顶部:

local system = system
local json = json
local device = device
local physics = physics
local color = color
local director = director
local key = key

BTW是否有任何想法会影响性能?我似乎正在将全球director转换为本地director,理论上它更快......

1 个答案:

答案 0 :(得分:2)

我目前无法关闭特定变量的警告,但您可以使用一种解决方法来抑制警告。您可以使用local director = directorlocal director = _G.director

代替local director = rawget(_G, "director")

就更快的访问而言,使用本地的是比表访问更快(参见Lua performance tips的第3页),但您可能需要在循环中运行大量调用以查看差异。请注意,LuaJIT执行its own optimization,这可能会改变性能影响。