lua – 为什么需要在令人敬畏的wm模块中重新定义标准变量?

任何令人敬畏的wm模块都从重新定义标准变量开始到本地.这样的事情
local table = table
local string = string
local tostring = tostring

它有什么作用?删除此行后,所有代码仍然正常工作.

解决方法

这纯粹是一种优化.读取/写入的局部变量比全局变量更快.这部分是因为全局变量是哈希表查找(例如foo => _G [“foo”]),而本地变量是VM寄存器查找.因此,通过局部变量对将要使用全局的模块进行别名的情况并不少见.

对于你的代码,除非你知道一些事情会被称为吨,并且将成为一个瓶颈,我不会打扰这种技术. Lua不是C.你的交易表现简洁明了.不要交易until you know you have to.

相关文章

1.github代码实践源代码是lua脚本语言,下载th之后运行thmai...
此文为搬运帖,原帖地址https://www.cnblogs.com/zwywilliam/...
Rime输入法通过定义lua文件,可以实现获取当前时间日期的功能...
localfunctiongenerate_action(params)localscale_action=cc...
2022年1月11日13:57:45 官方:https://opm.openresty.org/官...
在Lua中的table(表),就像c#中的HashMap(哈希表),key和...