《HarmonyOS:领航者说》技术公开课来啦,大咖分享、实战解码,不容错过 了解详情
写点什么

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

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

关注

评论

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

什么是云渲染?渲染速度有多快?一文告诉你

Finovy Cloud

计算机 云渲染 集群渲染

优必选科技眼中的AI机器人时代

优必选科技

AI 机器人

Vue Cli Study

程序员海军

vuecli 7月月更

中国经济网:“元宇宙”炙手可热

CECBC

一个15年ABAP老兵的建议:了解这些基础知识,对ABAP开发有百利而无一害

汪子熙

后台开发 SAP abap Netweaver 7月月更

图的基本定义和概念(二)

乔乔

7月月更

等额本金递增还款/等额本金递减按揭房贷还款计算器

入门小站

工具

向量化引擎对HTAP的价值与技术思考

OceanBase 数据库

oceanbase

快速搭建个人博客网站——Hexo

空城机

Hexo 个人博客 7月月更

API策略因何成为企业数字化转型的制胜法宝?

BeeWorks

在线XML转CSV工具

入门小站

工具

如何在OneFlow中新增算子

OneFlow

深度学习 算子

元宇宙浪潮震撼来袭,抓住时机,齐心协力

CECBC

N分钟学会分位值的计算方式

眼镜盒子

指标

无套路、无陷阱、无广告 | 这个免费的即时通讯软件确定不用吗?

BeeWorks

行业洞察|如何更好地建设数据中台?IT和业务要“齐步走”

BeeWorks

网信办严厉查处诱导未成年人参与直播打赏行为:直播打赏行业乱象必须整治

石头IT视角

Python动态属性有什么用

和牛

测试

振奋人心!元宇宙!下一代互联网的财富风口

CECBC

G1GC算法读书笔记(更新中)

老猎人

有return的情况下try catch finally的执行顺序

技术小生

7月月更

【Docker 那些事儿】初始 Kubernetes 容器管理平台(下)

Albert Edison

Docker Kubernetes 容器 云原生 7月月更

经验分享|企业该怎样利用SaaS进行企业知识管理

Baklib

传统企业的办公模式正在发生着变化,为什么企业需要数字化办公?

BeeWorks

Elephant Swap的LaaS方案优势分析,致eToken表现强势

BlockChain先知

linux 上查找包含特定文本的所有文件

入门小站

Linux

Envoy分布式链路追踪

阿泽🧸

envoy 7月月更

音频的价值、AI Codec 的意义与算法能力的边界丨一期一会 • 音频工程师专场

声网

音频技术 一期一会

Ansible项目最佳实践

穿过生命散发芬芳

ansible 7月月更

鼓励企业知识共享的好处,你知道多少?

Geek_da0866

京东云分布式链路追踪在金融场景的最佳实践

京东科技开发者

数据库 分布式 京东云 云计算,

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