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!
>
相关文章
- 利用pnpm patch命令实现依赖包热更新:精准打补丁指南-注意
- 分库分表--shardingsphere整合nacos实现热更新数据源
- 微信小程序热更新,小程序提示版本更新,版本迭代,强制更新,微信小程序版本迭代
- Idea调试热更新那些事
- vite热更新失效解决方法
- Lua快速入门(XLua拓展)(Yanlz+热更新+XLua+[LuaCallCSharp]+[CSharpCallLua]+LuaEnv+LuaTable+MetaTable+LuaManager)
- Git之hotfix热修复分支
- webpack快速入门——配置文件:服务和热更新
- 记一次K8s-ConfigMap热更新探索实录
- Unity热更新 AssetBundle