Lua 开发团队于前几天发布了 Lua 5.4.0 的首个公测版本,这也是 Lua 5.4 系列首次面世。当前的稳定版本是 Lua 5.3,最新分支是去年 6 月份发布的 Lua 5.3.5。
从 5.3 到 5.4,看起来虽然只是升级了次要的版本号,不过变化还是比较大(可以认为是一个重要的版本升级),其中还包括一些不兼容的变更。如需了解详细的不兼容性变更,请查看参考手册的对应部分内容。
- 新一代的垃圾回收机制
- 新增 to-be-closed 变量
- 新增 const 变量
- userdata 可以具有多个用户的值
- 随机数生成函数 math.random 采用了新的实现方法
- 新增警告系统(warning system)
- 可对函数参数和返回值的信息进行调试
- 针对整数的 'for' 循环增加了新语义
- 针对 'string.gmatch' 增加了可选的 'init' 参数
- 新增 'lua_resetthread' 和 'coroutine.close' 函数
- 将 string-to-number 迁移至 string 库
- 分配函数在减少内存块时支持失败
- 为 'string.format' 新引入的格式 '%p'
- utf8 库可接受数值最高为 2^31 的代码点(codepoint)
由于这是一个测试版本,所以最终版本中的某些细节可能会发生变更。
Lua 5.4.0 (beta):http://www.lua.org/work/lua-5.4.0-beta-rc1.tar.gz
测试套件:http://www.lua.org/work/lua-5.4.0-beta-tests.tar.gz |