10K+ 次浏览
string.byte() 函数是 Lua 字符串库中最常用的函数之一,它接受字符或字符串作为参数,然后将该字符转换为其内部数字表示。字符到内部数字表示可以很容易地从 ASCII 表中解释。语法 string.byte(ch) 或 string.byte(ch, idx) 在上述 string.byte() 函数的表示中,ch 标识符表示我们要转换为十进制值的字符。此外,idx 标识符表示作为参数传递的字符串中该索引处的字符。让我们考虑几个我们将使用… 阅读更多
9K+ 次浏览
Lua 中最常用的函数之一是 sort 函数,它由 Lua 库提供,该库将表作为参数,并对表中存在的数值进行排序。sort 函数还接受一个表和另一个参数,该参数是一个称为顺序函数的函数。如果我们想以特定顺序对表的元素进行排序,则使用此顺序函数。顺序函数接受两个参数,这两个参数必须在第一个参数应该出现在第二个参数之前时返回 true… 阅读更多
537 次浏览
我们将探讨在 Lua 中使用分号的可能性。大多数代码不需要它,但在某些情况下我们可能需要它们。示例让我们考虑一个似乎需要使用分号的情况。考虑下面显示的示例 - 实时演示 local a, b=10, 20 print(a+b) 以上 Lua 语句完全有效,并且运行良好。输出 30 示例如果我们更改上面的代码并将其放在同一行中呢?它仍然是有效的 Lua 代码吗?让我们试试。考虑下面显示的代码 - local… 阅读更多
Lua 中的 select 函数用于返回作为参数传递给它的参数个数。它可以用两种形式使用,第一种形式包括传递一个索引,然后它将以列表格式返回作为参数传递给函数的该数字之后的所有数字;另一种模式是,如果我们传递长度运算符作为第一个参数,在这种情况下,它只会返回提供的所有多个参数的计数。示例让我们在下面显示的示例中探索这两种情况。情况 1 实时演示 print(select(1, "a", "b",… 阅读更多
695 次浏览
在使用表时,如果我们知道键,我们可以轻松地访问和修改表中存在的数值。但是,在某些情况下,我们希望我们的表采用只读格式,以便不能修改表中存在的数值。这种特定方法有很多好处,因为我们可以使用这样的只读表来存储我们不希望任何人更改的信息,例如存储员工数据。为了使任何表成为只读表,我们使用 setmetatable() 函数以及 __index 和 __newindex… 阅读更多
503 次浏览
将 Lua 脚本从 C++ 传递到 Lua 的想法包括以下事实:我们将必须加载库和头文件,因为 Lua 是 ANSI C,如果我们使用 C++ 编码,我们将需要将 #includes 括在 extern “C” 中。旧的并且最常用的方法是从 Lua 加载 Lua 提供的库,然后简单地从 Lua 调用 C++ 函数。为了将脚本从 C++ 加载到 Lua,我们需要设置和关闭 Lua 解释器,我们可以借助以下代码来实现。示例考虑… 阅读更多
2K+ 次浏览
在许多情况下,我们希望获得数字的整数值以及数字具有的任何小数值,以便我们可以使用这些值中的一个或两个。Lua 为我们提供了一个 math.modf() 函数,我们可以使用它来查找整数值以及数字的任何小数值。语法 math.modf(number) 当我们调用该函数时,math.modf() 函数返回两个值,第一个值是数字的整数值,第二个返回值是数字的小数值(如果存在)。示例让我们考虑一个… 阅读更多
7K+ 次浏览
在许多情况下,我们希望从给定的一系列数字中获得最小值,然后稍后使用该值。一系列不同数字中的最小值是在该系列中存在的数字的最小值。Lua 为我们提供了一个 math.min() 函数,我们可以用它来查找我们作为参数传递给它的不同数字中的最小值。示例让我们考虑一个简单的示例,我们将在此示例中使用 Lua 中的 math.min() 函数 - 实时演示 a = 10 b = 11 c… 阅读更多
在许多情况下,我们希望从给定的一系列数字中获得最大值,然后稍后使用该值。一系列不同数字中的最大值是在该系列中存在的数字的最大值。Lua 为我们提供了一个 math.max() 函数,我们可以用它来查找我们作为参数传递给它的不同数字中的最大值。示例让我们考虑一个简单的示例,我们将在此示例中使用 Lua 中的 math.max() 函数 - 实时演示 a = 10 b = 11 c =… 阅读更多
12K+ 次浏览
在许多情况下,我们希望获得整数的地板值以将其四舍五入,然后稍后使用该值。数字的地板值是四舍五入到小于或等于该整数的最接近整数的值。Lua 为我们提供了一个 math.floor() 函数,我们可以用它来查找数字的地板值。示例让我们考虑一个简单的示例,我们将在此示例中使用 Lua 中的 math.floor() 函数 - 实时演示 a = math.floor(3.3) b = math.floor(7.1) print(a) print(b) 输出 3 7 应该注意的是,如果我们尝试… 阅读更多