跳转至内容

Nimrod 编程/变量

来自维基教科书,自由的教科书

存储值

[编辑 | 编辑源代码]

我们学习了如何打印内容(使用 echo),但我们的程序目前非常静态,每次执行时只会显示相同的内容,不太有趣。那么如何解决这个问题呢?使用变量,在解释变量之前,让我们考虑一个例子。

echo ("Hello world!")

这段代码的作用是将“Hello world!”写入控制台。但是一直输出“Hello world!”很无聊,我们想在这里使用另一个短语。我们可以更改每一行(在计算机科学中,这些“行”被称为语句),但是如果我们要进行很多次更改,就会非常耗时。我们该怎么办呢?可以使用变量。变量就像一个盒子,我们可以用来存储信息(数字、字符、句子),然后我们只需要声明这个变量的存在。如果我们不这样做,编译器(它还会检查错误)会认为我们犯了一个错误,并且不会编译(因此我们也无法执行它)。上面用变量的例子如下所示。

var sentence = "Hello world!"
echo (sentence)

很不错。您想更改显示的短语吗?好的,只需更改 sentence 变量,每行都会更改。但是我们做了什么呢?让我们仔细阅读一下这个新例子。

第一行是:

var sentence = "Hello world!"

事实上,我们在这一行做了两件事。我们首先告诉计算机初始化一个新变量(使用保留关键字 var)并命名它(在本例中,变量名为“sentence”)。此第一步称为声明(我们声明了一个变量的存在)。我们做的第二件事是为变量赋值。现在,我们的变量代表这个值,在任何地方写入 sentence 就相当于写入“Hello world!”。

因为第一行已经理解了,我们应该继续看其他行。

echo (sentence)

如您所见,我们告诉计算机打印 sentence 变量中的内容(在本例中是“Hello world!”)。计算机在内存中搜索名为 sentence 的变量,并显示其内容。但是,您可能会有一个疑问,为什么我们在第一个例子中使用双引号,而在第二个例子中没有使用?这是因为第二个例子是变量,而第一个例子不是。当我们想要原样获取一个字符串(并且不将其视为表达式)时,必须在句子前后添加双引号(就像您在英语中一样)。

还有一点,变量有类型:可以是整数、小数、字符串。在 Nimrod 中,一旦声明,变量的类型就不能更改。我们没有说变量的类型是什么。计算机如何知道变量的类型呢?我们为变量赋值,Nimrod 非常聪明,可以理解您想要将变量的类型设置为与您放入的值相同的类型(在本例中是字符串)。如果我们没有赋值,则应该显式声明其类型。

var sentence: string

string 是 Nim 中字符串类型的名称。作为旁注,您应该知道变量存储在计算机的 RAM 中(事实上,这是 RAM 的工作,存储应用程序需要的数值),因此 RAM 不是无限的,但您也不必太担心,因为如今的计算机拥有大量 RAM,可以存储数百万个这样的变量。

华夏公益教科书