经过五年的发展,几天前 介绍了新版本的Lua 5.4的发布,这是一种紧凑,快速的脚本编程语言,被广泛用作嵌入式语言。
Lua结合了简单的过程语法和强大的功能 通过使用关联数组和可扩展语言语义来描述数据。 Lua使用动态写作; 语言构造被转换为字节代码,该字节代码在具有自动垃圾收集器的日志虚拟机之上运行。
Lua 5.4中有什么新功能?
在该语言的新版本中,我们可以发现它脱颖而出 垃圾收集器的新操作模式,它补充了以前可用的增量垃圾收集模式。
新方法 意味着更频繁地启动较短的跟踪,仅涵盖最近创建的对象。 仅在短暂的爬网之后无法达到所需的内存消耗指标时,才执行所有对象的完全爬网。 这种方法可实现更高的性能和更低的内存消耗 在存储大量存在时间短的对象的情况下。
从Lua 5.4脱颖而出的另一个变化是 定义使用“ const”属性定义的常量的能力。 此类变量只能分配一次,初始化后将无法再更改。
还有那个 还突出显示了对变量的新支持 «待关闭»,使用«closed»属性和 类似于常量局部变量 (具有const属性),这与它们的不同之处在于,在可见性区域的任何输出中,值都是关闭的(称为“ __close”方法)。
那种 “用户数据”, 它提供了在Lua变量中存储任何C数据的能力(表示内存中的数据块或包含C指针), 现在可以包含多个值 (有几个元表)。
此外, Lua 5.4中提出了一种新的语义,用于枚举»for«循环中的整数。 迭代次数是在循环开始之前计算的,这避免了变量溢出和循环。 如果初始值大于极限值,则会产生错误。
已添加警告系统, 它是使用警告表达式确定的,与错误不同,它不会影响后续程序的执行。
在其他突出的变化中:
- 有关函数参数和返回值的调试信息已添加到``返回''运算符中。
- 将字符串转换为数字的功能已移至“字符串”库。
- 如果减小了内存块大小,则内存分配函数调用现在可能会失败。
- 在'string.format'函数中添加了对新的'%p'格式说明符的支持
- utf8库支持最大2 ^ 31的字符代码。
- 新的可选“ init”参数已添加到“ string.gmatch”函数,该函数确定从哪个位置开始搜索(默认情况下,以1个字符开头)。
- 添加了新功能“ lua_resetthread”(重置线程,清除整个调用堆栈,并关闭所有变量“关闭”)和“ coroutine.close”
如何在Linux上安装Lua?
由于它的流行语言 在大多数Linux发行版中都可以找到其解释器。
至 使用Debian,Ubuntu,Linux Mint或从这些衍生的任何系统的用户我们只需要打开一个终端并在其中执行以下命令即可:
sudo apt install lua5.4
如果他们是 Arch Linux,Manjaro,Antergos或从Arch Linux派生的任何发行版的用户,我们可以从AUR存储库中安装解释器,为此,我们只需键入:
yay -S lua
当为 那些使用CentOS,RHEL,Fedora或由此衍生的任何发行版的用户,我们可以使用以下工具进行安装:
sudo dnf install lua
并准备好,我已经安装好了。