找到 82 篇文章 关于 Lua

Lua 模式匹配与正则表达式

Mukul Latiyan
更新于 2021-07-19 11:43:09

960 次浏览

众所周知,Lua 遵循的模式匹配设计与通常基于 POSIX 的正则表达式设计有很大不同。它们之间几乎没有共同点,在两者中,POSIX 方法更受欢迎,因为它在示例变得更复杂时效果很好,并且可以处理各种情况,但这并不意味着 Lua 的模式匹配不好。事实上,它更容易理解,并且运行良好。Lua 字符串库没有使用正则表达式,而是有一套特殊的…… 阅读更多

Lua 编程中的词法约定

Mukul Latiyan
更新于 2021-07-19 11:42:06

281 次浏览

在本文中,我们将学习如何在 Lua 编程中声明和编写不同的词法约定。在 Lua 中,我们将 NAMES 称为标识符,它们可以是字母、数字和下划线的任意字符串,并且不能以数字开头。让我们考虑一个 Lua 中不同标识符的示例,并查看哪些是有效的,哪些不是。示例请考虑以下所示示例 - 实时演示i = 10 print(i) j1 = 11 print(j1) _ij = 99 print(_ij) aVeryLongName = "Tutorials point" print(aVeryLongName)在上述示例中,所有变量(标识符)都是有效的,因为它们要么以字母开头,要么以数字、…… 阅读更多

为什么 Lua 没有“continue”语句?

Mukul Latiyan
更新于 2021-07-19 11:36:51

4K+ 次浏览

Lua 中没有 continue 语句,这并不是因为 Lua 编程语言的开发者认为它没有用,事实上,在官方文档中他们提到“continue 只是众多可能的新的控制流机制之一”。这清楚地表明,Lua 编程语言的开发者并不是“continue”语句的忠实粉丝。如果我们需要分解为什么 Lua 开发人员不希望使用“continue”语句的事实,那么它可以归结为两个可能的答案,它们是 - 他们认为“continue”语句只是另一种…… 阅读更多

为什么 Lua 数组(表)从 1 开始而不是从 0 开始?

Mukul Latiyan
更新于 2021-07-19 11:34:35

2K+ 次浏览

是的,Lua 中的数组以索引 1 作为第一个索引,而不是像您在大多数编程语言中看到的那样以索引 0 作为第一个索引。示例请考虑以下所示示例 - 实时演示arr = {10, 11, 12, 13, 14} print(arr[0]) print(arr[1])在上述示例中,我们正在打印索引 0 和 1 处的值,并且默认情况下,索引 0 处的值将为 nil,因为在 Lua 中,数组从 1 开始索引,而不是 0。输出nil 10所以,现在我们知道数组是基于 1 索引的,而不是基于 0 索引的。但是,等等,为什么是 1 索引和 0 索引?实际上,曾经有…… 阅读更多

Lua 中 pairs() 与 ipairs() 之间有什么区别?

Mukul Latiyan
更新于 2021-07-19 11:31:58

10K+ 次浏览

在 Lua 中,当我们想使用 for 循环遍历给定表时,我们会同时使用 pairs() 和 ipairs() 函数。这两个函数都返回键值对,其中键是元素的索引,值是存储在该索引表中的元素。虽然它们都有一些相似之处,但了解它们也有一些非常明显的区别也很重要,我们应该意识到这一点。pairs() 和 ipairs() 函数之间的第一个区别是 pairs() 函数不维护键的顺序,而 ipairs() 函数肯定会维护。示例请考虑…… 阅读更多

Lua 中运算符 ~= 的含义是什么?

Mukul Latiyan
更新于 2021-07-19 11:30:44

1K+ 次浏览

Lua 中的 ~= 符号或运算符称为不等于运算符。在许多编程语言中,您可能已经看到了 != 符号,它也称为不等于运算符。让我们考虑几个可以使用不等于运算符的示例。示例请考虑以下所示示例 - 实时演示a = 2 b = 3 print(a ~= b)输出true示例实时演示t1 = {4,2,3} t2 = {2,3,4} print(t1 ~= t2)输出true

Lua 编程中 # 的含义是什么?

Mukul Latiyan
更新于 2021-07-19 11:28:42

568 次浏览

一元运算符 # 在 Lua 中称为长度运算符。它几乎在 Lua 中随处可见。在任何地方,我的意思是,在任何我们需要计算任何字符串长度的地方,也可以在表中使用它,但是当涉及到表时,通常不建议使用 # 运算符,因为它不会计算表中存在的元素数量。让我们探索长度运算符的不同示例,以了解如何使用它。示例请考虑以下所示示例 - 实时演示print(#"abcdefg") print(#{"a", "b", "c", 77})输出7 4在…… 阅读更多

Lua 编程中使用的一些重要的科学库是什么?

Mukul Latiyan
更新于 2021-07-19 11:25:40

256 次浏览

虽然我们知道 Lua 在我们想将其用作嵌入式语言时可以很好地工作,但它也可以超出其基本用途,并可用于极端情况,例如机器学习和统计分析。对于这种从 Lua 中获得更多收益的特定情况,市场上存在许多科学库。让我们探讨一下这些库是什么以及它们的功能。当在同一个句子中谈论 Lua 和机器学习时,我想到的第一个名字是 Torch 项目。Torch 项目是一个科学计算…… 阅读更多

Lua 编程中的闭包是什么?

Mukul Latiyan
更新于 2021-07-19 11:23:46

985 次浏览

在 Lua 中,任何函数都是闭包。从更狭义的角度来说,闭包是匿名函数,就像您示例中返回的函数一样。闭包是一等公民:它们可以分配给变量、传递给函数并从函数中返回。它们既可以是 Lua 表中的键,也可以是值。与 C++ 或 PHP 不同,Lua 中的闭包可以访问本地作用域中的所有变量——upvalue,无需显式声明 upvalue。当代码执行离开设置它们的块时,Upvalue 会保留。现在我们知道了什么是闭包以及它为什么有用,让我们举个例子并…… 阅读更多

Lua 编程中的 __index 元方法

Mukul Latiyan
更新于 2021-07-19 11:20:29

2K+ 次浏览

每当我们尝试访问 Lua 表中未声明的字段时,我们得到的答案都是 nil。虽然这是事实,但原因是当发生此类访问时,解释器会触发对 __index 元方法的搜索,如果它找不到任何名为 __index 的方法,那么我们将得到 nil 作为答案;否则我们将获得 __index 元方法中设置的字段值的任何内容。我们可以显式地将 __index 方法放入表中,并为其提供我们希望它返回的命名值…… 阅读更多

广告