自 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 表对所有代码都可用