当前位置: 首页 > news >正文

lua实现热更方式

由require(module_name)来决定,
通过package.loaded[module_name] = nil 强制删除,然后再require(module_name),当然在更新之前必须要先保存原来模块,local old_module = _G[module_name],然后将引用的模块逐一替换之前引用该模块的可以热更替换掉

//贴代码

function reload_moudle(moudle_name)
    local old_name = _G[moudle_name]   --保存引用的
    package.loaded[moudle_name] = nil 
    require(moudle_name)               --加載新的
    local new_name = _G[moudle_name]
    for k,v in pairs(new_name) do 
        old_name[k] =v                 --引用成新的
    end
    package.loaded[moudle_name] = old_name       --重新添加
end 

相关文章:

  • 元素
  • 基础面试题:面向对象和面向过程的区别,性能对比
  • 基础面试题: JDK 和 JRE
  • 基础面试题:java内存区域
  • 基础面试题:String StringBuffer 和 StringBuilder 的区别
  • 将Heap RID转换成RID格式
  • 数据库增删改查因文本包含sql语句造成语法错误问题解决方法
  • 基础面试题:== 与 equals 详解
  • 用ArrayList(解决约瑟夫问题)
  • 基础面试题:程序, 进程,线程,纤程,管程,超线程详解
  • 基础面试题:hashCode 与 equals
  • 2017.04.19 有趣的机械原理图
  • 详解TCP的三次握手与四次挥手及面试题(很全面)
  • 笔记APP中的TOP5
  • 深入理解BIO、NIO、AIO以及应用场景
  • $translatePartialLoader加载失败及解决方式
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • avalon2.2的VM生成过程
  • in typeof instanceof ===这些运算符有什么作用
  • Invalidate和postInvalidate的区别
  • java取消线程实例
  • PV统计优化设计
  • Shell编程
  • 对象管理器(defineProperty)学习笔记
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 协程
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • #stm32整理(一)flash读写
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (2)STL算法之元素计数
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (三十五)大数据实战——Superset可视化平台搭建
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • .net core 依赖注入的基本用发
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • .NET开源快速、强大、免费的电子表格组件
  • .net下简单快捷的数值高低位切换
  • @ComponentScan比较
  • @RequestParam详解
  • [2024] 十大免费电脑数据恢复软件——轻松恢复电脑上已删除文件
  • [bzoj 3534][Sdoi2014] 重建
  • [C#][DevPress]事件委托的使用
  • [CVPR 2023:3D Gaussian Splatting:实时的神经场渲染]
  • [HUBUCTF 2022 新生赛]
  • [IE 技巧] 显示/隐藏IE 的菜单/工具栏
  • [IT生活推荐]大家一起来玩游戏喽,来的都进!
  • [JavaWeb]——过滤器filter与拦截器Interceptor的使用、执行过程、区别