写点什么

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:3614240
用户头像

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

关注

评论

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

Google 发布:DevOps 2022现状报告

SEAL安全

DevOps 研发效能 软件交付 软件供应链

知道了web的攻击方式,还不快防起来?

CoderBin

前端 安全 10月月更

Flowable 中 ReceiveTask 怎么玩?

江南一点雨

Java springboot workflow flowable JavaEE

C语言中的内存模型

C++后台开发

内存模型 C语言 C/C++ linux开发 C++开发

DAG 任务调度与 go-streams 结合的应用实践

KaiwuDB

易操作、可观测、可扩展,EMQX如何简化物联网应用开发

EMQ映云科技

运维 物联网 IoT emqx 10月月更

如何快速打造BI大屏进行数据赋能

力软低代码开发平台

10分钟开发Kubernetes Operator

俞凡

架构 Kubernetes 云原生

大数据ELK(十九):使用FileBeat采集Kafka日志到Elasticsearch

Lansonli

Filebeat 10月月更

软件测试 | 测试开发 | Google 测试总监聊如何经营成功的测试职业生涯

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | Java or Python?测试开发工程师如何选择合适的编程语言?

测吧(北京)科技有限公司

测试

独家巨献!阿里技术专家兼Github贡献者,整理的Spring Security入门到成神

Geek_0c76c3

Java 数据库 开源 程序员 开发

SQL抽象语法树及改写场景应用

京东科技开发者

sql SQL优化 场景应用 SQL语言 抽象语法树

如何优雅地编写一个高逼格的JS插件?

茶无味的一天

JavaScript 前端 js JS插件

【iOS逆向】某运营商签名算法分析

小陈

逆向思维 逆向 iOS逆向 逆向分析

Vue网站自动提交百度链接

源字节1号

软件开发 后端开发 Vue网站

干货|仅需3步完成酷炫数据可视化大屏制作!

云智慧AIOps社区

大前端 低代码 数据可视化 智慧大屏可视化 可视化大屏

旺链科技入选2022“科创中国”创新成果名单

旺链科技

区块链 金融科技 产业区块链

Zebec即将推出公链并开放节点申请,潜力几何?

西柚子

如何从InfluxDB/OpenTSDB无缝连接到TDengine

TDengine

数据库 tdengine 开源 时序数据库

网络安全漏洞分析之远程代码执行

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞挖掘

企业社会责任先行,公益课程推动环保科普教育

科技之家

创新公司iLabService 释普科技启示录

B Impact

《编程的原则》读书笔记(二): 编程理论的三个思想和六个实现原则

Chares

软件工程 软件开发 编程原理 软件开发原则

【一Go到底】第九天---进制

指剑

Go golang 10月月更

32天高效突击:狂刷《Java权威面试指南(阿里版)》,offer拿到手软!

Geek_0c76c3

Java 数据库 开源 程序员 开发

你好,广州!openGauss广州用户组招募计划正式开启

两将军问题和TCP三次握手

有态度的马甲

TCP协议 两将军问题

智能合约系统开发Web3.0实现核心

薇電13242772558

智能合约

GitLab + Jenkins + Harbor 工具链快速落地指南

胡说云原生

DevOps gitlab cicd Harbor jenkins

【荣耀帐号服务FAQ】AuthorizationCode有效期是多久?

荣耀开发者服务平台

手机 服务 安卓 荣耀 honor

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