再谈Lua热更新(终)

在写这篇文章之前, 我特意在标题前加了个"终"字。因为我相信,这就是生产环境中热更新的最终出路。 大约在4年前,我实现过一版热更新。 但是这个版本并不理想。在一些简单场景下工作良好,场景稍一复杂,就显得捉襟见肘。 比如下面代码, 我的热更新实现就无法很好的进行更新。 --M1.lua local M1 = {} local case = { [1] = function() --[[xx]] end [2] = function() --[[xx]] end } function M1.foo(x) case[x]() end return M1 --M2.lua local foo = require &quo……

初窥Rust

在2021年4月14号LKML 邮件组在讨论是不是要接纳Rust语言进行开发,而Linus本人似乎对Rust也没有那么反感。种种迹象表明Rust是一门值得一学的语言。但是拖延症让我一直拖到2周以前才开始学习Rust. 现代编程语言一般都围绕三个方面进行设计:范式,内存,并发(这是我自己的理解,也许并不正确,毕竟我没有设计过编程语言:D)。 就“范式”而言,Rust是一门多范式编程语言,而编程范式这几十年来没有什么太大变化,Rust同样在这方面也没有太大的创新。因此这一块没什么好说的。 刚接触Ru……