0

package.loaded调用后如何替换特定库的所有函数require

我试图遍历相关的表,但表是空的。

local aLibrary = require "aLibrary"

for key,value in ipairs(package.loaded.aLibrary) do
    package.loaded.aLibrary[key] = function() end
end
4

2 回答 2

3

下面更简单的代码应该做到这一点(但请注意使用 ofpairs而不是ipairs)。

local aLibrary = require "aLibrary"

for key in pairs(aLibrary) do
    aLibrary[key] = function() end
end

请注意,require它不会返回库表的副本,因此上面的代码会影响其内容而不替换库表。

换句话说,以后的任何调用都require "aLibrary"将返回带有新函数的表。如果您不希望这种情况发生,那么您可能需要一个新表而不是更改其内容。

于 2015-07-29T13:06:03.250 回答
2

如何使用来遍历键而不是仅索引?

于 2015-07-29T09:02:07.610 回答