我开始在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
,理论上它更快......
答案 0 :(得分:2)
我目前无法关闭特定变量的警告,但您可以使用一种解决方法来抑制警告。您可以使用local director = director
或local director = _G.director
。
local director = rawget(_G, "director")
就更快的访问而言,使用本地的是比表访问更快(参见Lua performance tips的第3页),但您可能需要在循环中运行大量调用以查看差异。请注意,LuaJIT执行its own optimization,这可能会改变性能影响。