QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

Lua 5.3 正式版发布,支持整数、位操作和 UTF-8

  • 2015-01-16
  • 本文字数:989 字

    阅读完需:约 3 分钟

Lua 是一个基于 MIT 开源协议、小巧、动态类型的可嵌入式脚本语言, 该语言的设计目的是为了嵌入其他应用程序中并提供灵活的扩展和定制功能。在经过 4 个 RC 版本后,Lua 终于迎来了 5.3 正式版, 该版本主要实现了对整数、位操作、UTF-8 的支持以及打包和解包的功能。另外,Lua 5.3 还在语言、功能库、C 语言相关 API 等方面带来了如下改进:

1、 语言方面

Lua 的基本类型 userdata 能够被赋予任何 Lua 支持的值;新增整数除法;为一些元方法新增了更加灵活的规则。

2、 功能库方面

改进了迭代器 ipairs 和 table 库对元方法的支持;为 string.dump 增加了截断选项;为 table 库新增了元方法;新增 table.move、string.pack、string.unpack、string.packsize 等函数。

3、 C 语言相关 API 方面

增加了访问 C 语言中的 continuation 函数的 API;lua_gettable 和类型函数能够返回结果值的类型;为 lua_dump 增加了截断选项;新增了 lua_geti、lua_seti、lua_isyieldable、lua_numbertointeger、lua_rotate、lua_stringtonumber 等函数。

4、 独立解释器方面

Lua 的解释器可以用作计算器,且无需前缀‘=’;所有的代码都已支持参数列表。

Lua 5.3 正式版现已提供下载,更多有关该版本的信息参见官方发布的 ChangeLog 。另外,Lua 最著名的案例是暴雪公司在其网络游戏《魔兽世界》中的应用,目前非常流行的手游《愤怒的小鸟》也是用 Lua 编写的。

Lua 5.3 正式版发布后, Hacker News 上就有了相关讨论。用户 sitkack 提出了 Lua 的两个第三方 UTF-8 lib 库: luautf8 utf8.lua ;用户 justincormack 认为 Lua 对整数的支持是一个巨大的改进。

用户 fit2rule 评论到:

这真是一个好消息,自己一直期待着将 Lua 应用到移动平台 MOAI的最新客户端中,但是 Lua 对 UTF-8 支持的缺失一直影响着项目的进展,Lua 5.3 对 UTF-8 的支持意味着其功能更加强大和完整。

Reddit 上也有了相关评论,用户 ladna 认为:

Lua 5.3 实现对整数、UTF-8 和位操作的支持是一个巨大的改进。

用户 feydius 评论到:

真是太好了,Lua 5.3 对 64 位整数的默认支持和对位操作的支持(5.3 前是通过分割函数来实现)真是一个巨大的改进。垃圾收集器的进展现在是什么情况了?是否已经能够使用了。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2015-01-16 00:3613956
用户头像

发布了 92 篇内容, 共 48.0 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

云原生(三十一) | Kubernetes篇之平台基本预装资源

Lansonli

云原生 k8s 8月月更

Git 实战(三) | Github 必会高频基础命令与 IDE 的 Git 集成

霍格沃兹测试开发学社

Tapdata 杨哲轩:如何在零售行业实施主数据治理?

tapdata

Tapdata

如何应对突发的流量激增和服务器过载问题

NGINX开源社区

nginx 流量控制 高速缓存

BAT大厂都在用的Docker。学会这三招,面试、工作轻松hold住

霍格沃兹测试开发学社

Git实战(五)| 让工作更高效,搞定Git的分支管理

霍格沃兹测试开发学社

开源新工具 Azure Developer CLI

Azure云科技

azure cli 应用程序 #开源

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

OpenHarmony开发者

OpenHarmony

Tapdata 获阿里云首批产品生态集成认证,携手阿里云共建新合作

tapdata

阿里云 Tapdata

Jenkins 踩坑 | job 创建、参数化、定时构建及时区偏差问题解决

霍格沃兹测试开发学社

PageObject(PO)设计模式在 UI 自动化中的实践总结(以 QQ 邮箱登陆为例)

霍格沃兹测试开发学社

Python 自动化测试(三): pytest 参数化测试用例构建

霍格沃兹测试开发学社

易观千帆 | 2022年7月苏州市手机银行应用活跃人数榜单

易观分析

金融 手机银行 榜单 苏州

大数据培训机构学习后就业前景如何

小谷哥

Jenkins 踩坑(三)| Email 配置与任务邮件发送

霍格沃兹测试开发学社

Pb协议的接口测试

霍格沃兹测试开发学社

30 分钟轻松搞定正则表达式基础

霍格沃兹测试开发学社

在window下使用 VScode 搭建 ARM 开发环境

矜辰所致

开发工具 开发环境 arm 8月月更

BAT 大厂最流行的性能压测、监控、剖析技术体系解析

霍格沃兹测试开发学社

LED显示屏行业未来是如果发展的?市场怎么样?

Dylan

LED显示屏 led显示屏厂家

深度解读|关于SBOM最基础元素,你需要知道的(Part III)

安势信息

漏洞 漏洞扫描 代码安全 SBOM SBOM最基础元素

Docker 镜像构建可以分享的快乐

霍格沃兹测试开发学社

Git实战(四)| Git分支管理实操,搞定在线合并和本地合并

霍格沃兹测试开发学社

Jenkins 踩坑(四)|基于接口自动化测试完成 Jenkins+GitHub+Allure 的结合

霍格沃兹测试开发学社

Python 自动化测试(五): Pytest 结合 Allure 生成测试报告

霍格沃兹测试开发学社

5 个 JavaScript 写法小技巧分享

掘金安东尼

JavaScript 前端 8月月更

开源治理:安全的关键

SEAL安全

开源 开源文化 开源安全 开源安全与治理

App自动化之dom结构和元素定位方式(包含滑动列表定位)

霍格沃兹测试开发学社

编程小白也能快速掌握的ArkUI JS组件开发

HarmonyOS开发者

HarmonyOS

Junit5 架构、新特性及基本使用(常用注解与套件执行)

霍格沃兹测试开发学社

MockServer 服务框架设计

霍格沃兹测试开发学社

Lua 5.3正式版发布,支持整数、位操作和UTF-8_语言 & 开发_李士窑_InfoQ精选文章