跳转到内容

Scribunto:入门/数字

来自维基教科书,开放的书籍,开放的世界

在上一章中,我们学习了如何使用调试控制台,以及如何在普通维基页面上显示来自模块的文本。我们编写的用于显示文本的模块使用了许多新概念,您可能在阅读后感到有些困惑。但是,请不要惊慌;在本书的第二部分,我们将学习理解该模块所需的所有概念,以及更多内容。在我们涵盖了我们编写的模块中使用过的所有概念之前,我们将专注于使用调试控制台,它允许我们编写更简单的程序。

因此,事不宜迟,让我们开始学习一些基本的 Lua 概念。首先,我们将介绍您可能非常熟悉的内容:数字的使用。

输入数字

[编辑 | 编辑源代码]

在 Lua 中输入数字的语法非常简单。实际上,没有特殊的语法;您所要做的就是输入数字。在调试控制台中尝试以下示例

代码:

= 2

输出:

2

调试控制台应该打印与您输入的相同的数字。现在,让我们看看如果添加一些零会发生什么

代码:

= 002

输出:

2

代码:

= 2.0

输出:

2

即使我们输入了 002 和 2.0,输出仍然是 2。这是因为 Lua 会解释数字的值;它不会记住您输入的确切字符。

要插入负数,只需在前面加上连字符。

代码:

= -5

输出:

-5

现在,让我们进行一些计算。Lua 可以执行您的袖珍计算器可以执行的任何计算,以及一些它无法执行的计算。为了进行计算,Lua 使用 _算术运算符_。这仅仅是说“用于进行算术的符号”的复杂说法。例如,加法使用 `+` 运算符执行。

代码:

= 2 + 2

输出:

4

类似地,减法、乘法和除法分别使用 `-`、`*` 和 `/` 运算符执行。

代码:

= 100 - 50

输出:

50

代码:

= 5 * 4

输出:

20

代码:

= 10 / 3

输出:

3.3333333333333

`10 / 3` 的结果可能会让一些读者感到惊讶,因为在其他一些编程语言中,相同的代码会生成“3”,为了得到“3.3333333333333”的结果,您需要编写类似 `10.0 / 3` 的内容。但是,在 Lua 中,`10 / 3` 和 `10.0 / 3` 没有区别。

也可以使用 _取模_(或 _mod_)运算符 `%` 来找到除法后的余数。

代码:

= 17 % 5

输出:

2

此示例表示“将 17 除以 5 并输出剩余的部分”。17 不能被 5 整除;下一个可以被 5 整除的最高数字是 15。17 和 15 之间的差是 2,所以这就是 Lua 输出的内容。

取模运算符有许多应用。例如,您可以使用 `% 2` 来查找一个数字是奇数还是偶数。

代码:

= 123 % 2

输出:

1

代码:

= 124 % 2

输出:

0

如果使用奇数进行 `% 2`,它将得到 1 的结果;如果使用偶数进行 `% 2`,它将得到 0 的结果。

我们将在这里介绍的最后一个运算符是 `^`,它用于进行指数(或幂)计算。例如,`2^3` 表示“2 的 3 次方”,或 `2 * 2 * 2`。

代码:

= 2 ^ 3

输出:

8
华夏公益教科书