Lua热更新(hotfix)

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!
>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值