在看一些 游戏代码 包括 quick 的代码的时候
发现其 require 的lua 文件 一般是这样的格式
A.lua
local aa=xxxx
…
return aa
1 疑问 这里为什么要作为local 使用呢
在查了一些资料了解了一些Lua 的知识后 我的理解是
在使用的时候 比如
function xx()
local a=require"A.lua"
end
由于A.lua 是用的临时 aa 导出的 所以 在xx() 结束的时候 这个模块就释放了
但是 今天测试了一下
A.lua
local aa={}
local num=10
function aa:addNum()
num++
end
function aa:getNum()
return num
end
return aa
B.lua
function xx()
local a1=require(“A”)
printf(a1:getNum()) – 10
a1:addNum()
local a2=require("A")
printf(a2:getNUm) --11
end
本来以为会是10 结果a2的结果 是11 那 A.lua 使用临时 导出 的实际意义是什么,这不与全局导出一样了吗