【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

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

关注

评论

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

电商系统微服务拆分

风中奇缘

#架构实战营 「架构实战营」

聊聊 Webpack 插件系统的关键实现 Tapable

蛋先生DX

JavaScript 前端 webpack

深度学习优化层技术

Clarke

电商微服务架构拆分

Fingal

架构实战营

电商系统微服务拆分

张逃逃

毕业总结:

Anlumina

#架构实战营

在线HTTP/HTTPS协议GET,POST,RESTful接口测试

入门小站

工具

Vuex在TSX中的改造方案:TS改造Vue2项目Vuex如何处置?

zhoulujun

Vue3 vue2 tsx vuex-class vuex-module-decorators

如何保持知识与技能的先进性

长沙造纸农

学习方法 方法论 认知提升 学习笔记 技能提升

READS: Salesforce服务健康指标最佳实践

俞凡

微服务 最佳实践 可观测性 大厂实践 Salesforce

架构实战营:模块六业

刘璐

Web 3.0是什么?区块链热潮下2022年必懂的科技概念

CECBC

失眠的岁月,我们都交了哪些科技智商税?

脑极体

KCP协议:从TCP到UDP家族QUIC/KCP/ENET

zhoulujun

网络加速 KCP 游戏加速 quick 带宽优化

毕业设计

Anlumina

「架构实战营」

电商系统微服务拆分

随欣所遇

架构训练营5期

一文搞懂I2C总线通信

不脱发的程序猿

嵌入式 通信协议 I2C协议

Salesforce服务可观测性设计模式

俞凡

微服务 可观测性 大厂实践 Salesforce

模块6作业:电商系统微服务拆分

炎彬

「架构实战营」

[Day1]-[广度搜索(BFS)] 二叉树最小高度

方勇(gopher)

LeetCode BFS 数据结构算法

《直击本质》——读后上

圣迪

系统性思考 直击本质 金字塔原理 本质

拆分电商系统为微服务

石小天

「架构实战营」

在线HTML美化格式化工具

入门小站

工具

公平的获得财富的机会,区块链通证经济是未来的必然趋势

CECBC

电商系统拆分为微服务

凌波微步

「架构实战营」

第六个模块作业

achilles

模块六作业

Mr小公熊

电商系统微服务拆分

邹玉麒

「架构实战营」

Orbiton JS:用于构建 UI 的 JavaScript 库

devpoint

JavaScript 3月月更 Orbiton JS

架构训练营模块六

刘帅

Linux之seq命令

入门小站

Linux

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