写点什么

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

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

关注

评论

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

非官方不权威Java面试宝典

北游学Java

Java 面试

Geek 青年说北京沙龙分享

看山

Geek青年说

阿里云携手 VMware 共建云原生 IoT 生态,聚开源社区合力打造领域标准

阿里巴巴云原生

阿里云 容器 开发者 云原生 k8s

阿里面试题:MySQL 磁盘满了,怎么办?

Java架构师迁哥

怎样节省 2/3 的 GPU?爱奇艺 vGPU 的探索与实践

爱奇艺技术产品团队

深度学习 gpu

如何优化你的HTTPS?

运维研习社

https HTTP2.0 5月日更

并发王者课-青铜8:分工协作-从本质认知线程的状态和动作方法

MetaThoughts

Java 多线程 并发 并发王者课

「信创」风口,国产数据库的新机遇

BinTools图尔兹

数据库 数据安全 dba 数据库管理 tdsql

千亿级数据迁移mongodb成本节省及性能优化实践

杨亚洲(专注MongoDB及高性能中间件)

MySQL 数据库 mongodb 架构 分布式数据库mongodb

Java程序员简历这么写,还过不了筛选算我输!

Java架构师迁哥

Springboot actuator不可不注意的安全问题-可越权-可脱库

果果果

安全 springboot

新生代小鲜肉之代码生成器

蛋先生DX

node.js 效率工具 自动化 生成代码

公安重点人员情报研判分析系统,可视化大屏系统

阿里云 AI 编辑部获 CCBN 创新奖,揭秘传媒行业解决方案背后的黑科技

阿里云CloudImagine

阿里云 媒体 CCBN

五分钟开发属于你自己的代码生成器

蛋先生DX

node.js 效率工具 生成代码 JavaScrip

促成“零碳”社会的全面实现,华为云让技术更有温度

xiaotan

华为云

持续测试 | DevOps 时代的高效测试之钥

CODING DevOps

DevOps 持续测试 迭代式测试

dubbo-go v3 版本 go module 踩坑记

阿里巴巴云原生

容器 开发者 云原生 中间件 dubbogo

个推“D-M-P”三步走, 打造每日治数平台,助力行业数字化升级

个推

大数据 数据中台 数据治理 数据智能

从零开始学习ThingJS之创建/销毁物体

ThingJS数字孪生引擎

JavaScript 3D 3D可视化 数字孪生

Serverless Devs 的官网是如何通过 Serverless Devs 部署的

阿里巴巴云原生

Serverless 开发者 运维 云原生 存储

量化马丁策略系统搭建,网格策略交易系统

.Net Core Configuration Etcd数据源

yi念之间

etcd .net core

日常Bug排查-系统失去响应-Redis使用不当

无毁的湖光

Java redis

简单又灵活的权限设计?

蛋先生DX

数据库设计 权限系统 权限 权限架构 rbac

第五课作业

杰语

暑期 2021 | Serverless Devs 最全项目申请攻略来啦!

阿里巴巴云原生

开源 Serverless 开发者 云原生 活动

“四大模型”革新NLP技术应用,揭秘百度文心ERNIE最新开源预训练模型

百度大脑

开源 nlp

思想与落地

型火🔥

架构 分布式 微服务 哲学

刚刚接触视频剪辑,怎么快速剪视频?

奈奈的杂社

腾讯云大神亲码“redis深度笔记”,字字珠玑,全是精华

Java 程序员 架构 面试

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