Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果我有一个 Lua 函数f,我可以f使用该debug.getupvalue函数查看 's 闭包中的所有上值。同样,如果我有一个文件foo.lua,我可以先查看 upvalues,foo = loadfile(foo)然后debug.getupvalue以与f. 如果我require foo.lua在那里,我可以弄清楚关闭的upvaluesfoo.lua是什么?
f
debug.getupvalue
foo.lua
foo = loadfile(foo)
require
require的标准加载器不保留加载的模块require。仅保留执行该模块的返回值。
因此,虽然您可以检查模块导出的任何函数的任何上值,但不能检查只能由不可访问函数访问的上值。