lua的更新文档(翻译中)

Lua 4.0 版本引入了 break 和 for 语句等新特性,改进了错误信息并增强了调试功能。此外,Lua 4.0 还提供了更轻量级的虚拟机、无递归垃圾回收算法等,大幅提升了性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

这里是Lua 4.0

 

版本3.2到4.0之间的改变

---------------------------

语言设计:

+新语句:break和for语句

+对全局变量的全局处理:全局变量将都放置到一个Lua table中

+改进错误信息

+no more '$debug': full speed *and* full debug information

+新的'read'形式:read(N)表示读下N个字节

+一般的读取模式现在将被忽视(但依然可以通过编译的时候指定-DCOMPAT_READPATTERNS来使用)

+所有的返回值将作为最近一个函数的arguments(旧的语义可以通过指定-DLUA_COMPAT_ARGRET来使用)

+在垃圾回收过程中对表打标记的的方法将不再有

+现在只用一种标记方法

API:

+新API:丰富的重入,更简单和更有效

+新的debugAPI

实现:

+更轻量级的虚拟机,至少快20%

+无递归垃圾回收算法

+通过大量字符串降低内存使用

+改进内存分配错误处理方法

+通过改进以支持16位机器

+代码可以在ANSI C环境或C++编译

+numbers in bases other than 10 are converted using strtoul.

+提供新的-f选项以支持#!脚本

+luac能够将文本和二进制结合起来

 

版本3.1到3.2之间的改变

---------------------------

+将所有的ua的输出信息重定向到_ERRORMESSAGE和_ALERT

+提高每个函数的拥有的常量和全局变量的数量上限

+正在调试的信息转移到lua_state中,并且提供新的API函数获取与设置这些信息

+新的debug库提高调试方法

+新的表函数"foreachi","sort","tinset","tremove","getn"

+新的io函数"flush","seek".

 

版本3.0到3.1之间的改变

---------------------------

+新的功能:匿名函数被解释为closures

-新语法:

-局部变量在块中

-用DO block END提供更好的作用域控制

-构造函数可写

-为函数和左值提供更多一般的语法,例如:

f(x).y = 1

o:f(x,y):g(z)

f"string" is sugar for f("string")

+字符串对象现在可以包含任意的二进制数据

+主要 代码将被重新组织并且得到简化,降低模块之间的耦合

+对于常量和全局变量,数字没有任何限制

+支持多个全局上下文

+更好的语法错误信息

+新的遍历函数"foreach"和"forechvar"

+数字的默认类型是double

+完成的调试信息将保存再预编译块中

+提供简单的交互窗口

 

版本2.5到3.0的变化

----------------------

+新的概念:标签方法

 标签方法代替了fallbacks作为扩展语义的元机制。Whereas fallbacks had a global nature, tag methods

    work on objects having the same tag (e.g., groups of tables).

    Existing code that uses fallbacks should work without change.

+为构造方法提供新的一般的语义{[exp] = exp, ...}

+函数支持可变长参数

+支持条件编译

+更加的简洁的API以简化宿主代码

+为写库提供更好的支持

+标准库中提供更好的类型检查和错误信息

+ luac can now also undump

 

版本2.4到2.5的变化

----------------------

+io和字符串库现在基于模式匹配,旧的库现在依然可以兼容

+dofile和dostring函数现在可以返回值

+更好的16位和64位机器的支持

+补充文档,提供更多例子

 

版本2.2到2.4的变化

----------------------

+内部编译器创建加载速度更 快的可移植的二进制文件

+提供调试和性能查看接口

+为“getglobal”提供新的错误处理过程

+为处理lua对象的引用提供新的函数

+标准库中提供新的函数

+每个字符串只有一份拷贝

+补充文档,提供更多例子

 

版本2.1到2.2的变化

----------------------

+函数又有新的申明方法:作为左值(functions now may be declared with any "lvalue" as a name)

+为函数提供垃圾回收功能

+支持管道

 

版本1.1到2.1的变化

----------------------

+提供现象对象的支持

+支持错误处理机制

+简化tables的语法

+很多内部的改进

 

(END)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值