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

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

关注

评论

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

恰逢金九银十!阿里P8连夜赶稿一份基于实例驱动的设计模式笔记

Java 编程 架构 面试 阿里

开源之夏项目分享:图数据库 Nebula Graph 支持 JDBC 协议

NebulaGraph

微信开源PhxQueue:高可用、高可靠、高性能的分布式队列

OpenIM

用数据搭建反馈系统

石云升

数据分析 9月日更

北鲲云超算平台赋能蛋白设计助推生物制药行业发展

北鲲云

谁在制造“完美男性”?

脑极体

Frida笔记 - Android 篇 (一)

GrowingIO技术专栏

android Frida

ULP Fec与 Flex FEC 概述

webrtc developer

WebRTC fec

腾讯云签约广州知识城商用密码项目,助力黄建设密码产业示范区

腾讯安全云鼎实验室

腾讯云 商用密码

活动推荐 | 云原生社区 Meetup 第七期深圳站开始报名啦!

CODING DevOps

Kubernetes DevOps 微服务 活动 Meetup

五行兼备:联想TruScale服务的太极之道

脑极体

Java 操作 Office:POI word 之表格格式

程序员架构进阶

Java Apache POI 9月日更 word文档

垃圾分类与AI的反碎片之旅

百度大脑

人工智能 EasyDL

架构实战营模块 7 作业指导

华仔

架构实战营

防沉迷系统的bug,技术如何查漏补缺?

脑极体

我怀疑,你对996的力量一无所知!

艾小仙

程序员 996

HashMap为什么是线程不安全的?

Java技术精选

APM领域国产化先锋!博睿数据与麒麟、统信、中科方德完成兼容性认证

博睿数据

Python代码阅读(第25篇):将多行字符串拆分成列表

Felix

编程 Code Programing 阅读代码 -python

广告机主板定制方案能实现双屏异显或四屏异显吗?

双赞工控

安卓主板 主板定制 广告机主板

justswap市值管理机器人系统软件开发技术(案例搭建)

量化系统19942438797

交易所 做市机器人 justswap

各编程语言里对 Iterator 进行修改时的对比

BlockQuant

Java Python rust Go 语言

性能测试中异步展示测试进度

FunTester

性能测试 接口测试 测试框架 进度条 FunTester

前端独立交付需求背景下的Mock数据多方案解读

爱数技术范儿

JavaScript 大前端 Mock

低代码开发:实现传统系统信息化的3种方案!

优秀

低代码 低代码开发

博睿数据云主机性能评测新增6家云厂商,8月报告亚马逊云科技登榜首

博睿数据

微信亿级用户异常检测框架的设计与实践

OpenIM

总结下ThinkPHP的代码审计方法

网络安全学海

php 网络安全 信息安全 WEB安全 代码审计

Java中对千万级数据量的表进行插入操作(MYSQL)

张音乐

Java MySQL JDBC 9月日更

Vue进阶(幺零四):elementUI 应用 $notify 提示信息中换行问题

No Silver Bullet

Vue 9月日更

ServiceWorker工作原理、生命周期和使用场景

devpoint

Service Worker 9月日更

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