替换 package.loaded 中的函数
Replace functions in package.loaded
如何在 require
调用后替换 package.loaded
中特定库的所有函数?
我尝试遍历相关的 table 但 table 是空的。
local aLibrary = require "aLibrary"
for key,value in ipairs(package.loaded.aLibrary) do
package.loaded.aLibrary[key] = function() end
end
如何使用 pairs 遍历键而不是仅索引?
下面更简单的代码应该可以做到(但请注意使用 pairs
而不是 ipairs
)。
local aLibrary = require "aLibrary"
for key in pairs(aLibrary) do
aLibrary[key] = function() end
end
请注意,require
不会 return 库 table 的 副本 ,因此上面的代码会影响其 contents 没有 replacing library table.
换句话说,以后对 require "aLibrary"
的任何调用都将 return table 与新功能。如果您不希望这种情况发生,那么您可能需要一个新的 table 而不是更改其内容。
如何在 require
调用后替换 package.loaded
中特定库的所有函数?
我尝试遍历相关的 table 但 table 是空的。
local aLibrary = require "aLibrary"
for key,value in ipairs(package.loaded.aLibrary) do
package.loaded.aLibrary[key] = function() end
end
如何使用 pairs 遍历键而不是仅索引?
下面更简单的代码应该可以做到(但请注意使用 pairs
而不是 ipairs
)。
local aLibrary = require "aLibrary"
for key in pairs(aLibrary) do
aLibrary[key] = function() end
end
请注意,require
不会 return 库 table 的 副本 ,因此上面的代码会影响其 contents 没有 replacing library table.
换句话说,以后对 require "aLibrary"
的任何调用都将 return table 与新功能。如果您不希望这种情况发生,那么您可能需要一个新的 table 而不是更改其内容。