自 Lua 5.2 以来的变更
这里列出了 Lua 5.3 引入的主要变更。 参考手册 中列出了 不兼容的地方。
主要变化
- 整数 (默认 64 位)
- 32 位整数的官方支持
- 位操作符
- 基本的 utf-8 支持
- 值的打包及解包函数
这些是 Lua 5.3 引入的其它变更:
语言
- 用户数据可以是任意 Lua 值
- 整数除法
- 某些元方法有了更加灵活的规则
库
ipairs
以及表处理库都会考虑元方法string.dump
多了裁减选项- 表处理库考虑了元方法
- 新函数
table.move
- 新函数
string.pack
- 新函数
string.unpack
- 新函数
string.packsize
C API
- 简化了延续点 API
lua_gettable
以及类似函数会返回结果的值类型lua_dump
增加了裁减选项- 新函数:
lua_geti
- 新函数:
lua_seti
- 新函数:
lua_isyieldable
- 新函数:
lua_numbertointeger
- 新函数:
lua_rotate
- 新函数:
lua_stringtonumber
Lua 独立解释器
- 可以做计算器使用;不再需要前置 '='
arg
表对所有代码都可用