如何在package.loaded
来电后require
替换特定图书馆的所有功能?
我试图迭代相关的表,但表格显示为空。
local aLibrary = require "aLibrary"
for key,value in ipairs(package.loaded.aLibrary) do
package.loaded.aLibrary[key] = function() end
end
答案 0 :(得分:3)
下面的简单代码应该这样做(但请注意使用pairs
代替ipairs
)。
local aLibrary = require "aLibrary"
for key in pairs(aLibrary) do
aLibrary[key] = function() end
end
请注意,require
不会返回库表的副本,因此上面的代码会影响其内容而不用替换图书馆表。
换句话说,以后对require "aLibrary"
的任何调用都将返回包含新函数的表。如果您不希望这种情况发生,那么您可能需要一个新表而不是更改其内容。
答案 1 :(得分:2)
如何使用pairs来通过键而不是仅使用索引?