重置 lua 脚本

项目中用到了许多 lua 文件, 每个文件都是一个 module ,通过 require 的方式 导入进来。
lua 在 require 时,如果发现以前 require 过,就不会再重新 require 了 。
这样,当我们想在运行时,重置一些脚本的文件的全局变量的值, 仅仅通过再次 require 一次,是无法做到的。

如果想重置某个脚本的状态,需要在 再一次 require 前,加上 package.loaded[luafile] = nil,然后再重新 require ,
就能重置该脚本的状态了。

例如:
列出所有被 require 过的 package
for k,v in pairs(package.loaded) do
    print("loaded package:"..k)
end

重置  BattleFormationPage 这个 脚本:
package.loaded["script/home/BattleFormationPage"] = nil                --    在 package.loaded 中置空
BattleFormationPage = require "script/home/BattleFormationPage"        --    重新 require

也可以把所有已经 require 过的脚本重置:
for k,v in pairs(package.loaded) do
    package.loaded[k] = nil
end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值