Scribunto:入门/变量
在本章中,我们将学习变量。变量是赋予数据片段的名字,这样我们就可以再次使用这些数据。
以下程序给出了一个关于如何使用变量的简单示例。(注意:当你将此程序输入到调试控制台中时,你需要在第一行之后按回车键,而不是 Shift + 回车键。如果你在调试控制台中一次输入多行,你不能使用=
字符在行首显示输出。)
在程序的第一行,我们创建了一个名为name的变量,并赋予它值 "Susan"。在第二行,我们显示了我们创建的name变量的内容。
你可能已经注意到,在这个程序中,等号=
被用于两种不同的目的。这经常让 Lua 初学者感到困惑,所以让我们现在明确它们之间的区别。
- 在变量名之后,
=
的意思是 "将右侧的值存储在左侧的变量中"。这个过程称为赋值。 - 在调试控制台中新行开始时,
=
的意思是 "显示此行语句的结果"。这仅在调试控制台中有效,对于多行语句无效。
另外,请注意,在 Lua 中,单个等号=
不意味着 "等于"。还有另一个运算符用于表示 "等于",我们将在后面学习。
在前面的示例中,我们使用 "name" 作为变量名,没有给出任何进一步的解释。但是,在你开始创建自己的变量之前,你应该知道,对你可以使用的名称有一些限制。这些限制如下:
- 变量名只能使用小写字母 a 到 z,大写字母 A 到 Z,数字 0 到 9,以及下划线字符
_
。 - 它们不能以数字开头。
- 它们不能是为核心 Lua 函数保留的词。
这里,"保留字" 是指语言本身用于各种不同编程任务的词。它们如下:
- and
- break
- do
- else
- elseif
- end
- false
- for
- function
- if
- in
- local
- nil
- not
- or
- repeat
- return
- then
- true
- until
- while
只要你遵守上述规则,你就可以使用任何东西作为名称。但是,当你选择变量名时,最好是描述性的。描述性的名称更容易让查看你程序的人理解(也更容易让你在编写完程序六个月后查看自己的程序)。例如,如果你要创建一个变量来存储一个维基链接,名称 wikilink 或 link 比 wl 或 l 更容易理解。
另一个需要注意的重要事项是变量区分大小写。就 Lua 而言,name、Name 和 NAME 是完全不同的变量。
一旦你将一个值赋予一个变量,你就可以像你想要的那样多次使用它。
你也可以在计算和其他类型的 Lua 表达式中使用变量。你只需要输入变量名,它将被视为它的值。
如果你处理的是长数字或字符串,这可以为你节省一些按键操作。
这也是使你的代码可重用的关键。在我们开始编写完整的 Lua 模块后,我们将了解更多关于这一点。
你也可以像你想要的那样多次为变量分配新的值。这也被称为重新赋值。