Closed 37wjy closed 2 weeks ago
这里面的主要问题是, lua的全局变量声明和赋值没有明显的区分, 当前采用的策略是, 以遍历顺序中的首次出现的类型为准
好吧, 主要是在上面标注了type, 要是提示 UIManager|nil 感觉也会比无视---@type会好点
当前为了欺骗插件 ,你可以在置nil的地方再写上---@type
有个比较特殊的情况, 有一些只会在特定情况下产生的local变量会被标记为全局变量, A前面的local去了就不会报错了
local DEBUG = true
if DEBUG then
local A = {}
end
function B(...)
if DEBUG then
A.a = 1
end
end
lua中不存在预处理器, 所以这个local 在通常情况下都是无法被访问的, 另一个办法是:
local DEBUG = true
if DEBUG then
local A = {}
function B(...)
A.a = 1
end
else
function B(...)
end
end
程序启动时会声明
在程序关闭时,会在特定方法里执行
一旦写了后面的赋值代码后, 就会提示UIMgr是nil