Lua热更新(hotfix)
2024-10-15 20:19:07
Lua热更新(hotfix)
(金庆的专栏)
hotfix
Lua 5.2/5.3 hotfix. Hot update functions and keep old data.
https://github.com/jinq0123/hotfix
hotfix 实现了Lua热更新,仅对函数作替换,保留旧数据。
例如 test.lua:
local M = {}
local a = "old"
function M.get_a() return a end
return M
更新到
local M = {}
local a = "new"
function M.get_a() return a .. "_x" end
return M
运行
local hotfix = require("hotfix")
local test = hotfix.hotfix_module("test")
test.get_a() -- "old_x"
数据 a 作为函数的upvalue得到了保留,但是函数得到了更新。
可查看 test/main.lua 中的测试用例。
运行测试:
E:\Git\Lua\hotfix\test>d:\Tools\lua\lua53.exe
Lua 5.3.2 Copyright (C) 1994-2015 Lua.org, PUC-Rio
> require("main").run()
Test OK!
>
最新文章
- java中动态代理实现机制
- JavaScript:substr vs substring vs slice
- Html5的一些引擎使用感触
- dba诊断之lock
- EF中使用SQL语句或存储过程
- vs10创建sqlclr部署失败
- Go语言基础知识
- Java程序CPU使用率过高
- CSS——background-size实现图片自适应
- Java设计模式学习记录-装饰模式
- CSS属性书写顺序及命名规则
- 探索ORM ————iBati(一)
- 远程binlog
- Generics Variance
- PreviewMouseLeftButtonDown 与 MouseLeftButtonDown
- python面试题包含基础和Linux操作以及数据库相关
- querySelector()与querySelectorAll()的区别及NodeList和HTMLCollection对象的区别
- Python 正则表达式取值
- Android_Fragment_Fragment详解
- java基础—多态(动态加载)