跳转到内容

Nimrod 编程/循环

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

所以,接下来我们要看的是循环。什么是循环?你可能会问。很简单,它就是一系列指令的重复,只要满足一定条件或在给定的值范围内重复执行,听起来太复杂了…简单来说,它会根据你(程序员)指示,开始重复一系列指令(例如:变量创建和赋值、if 语句、函数、更多循环…),何时停止取决于我们使用的是哪种类型的循环。

在 Nim 中,有两种类型的循环,我们称之为 forwhile

我们先从最简单的开始。正如你可能猜到的,while 会重复执行,直到满足一定条件。让我们来看看它是如何工作的。 <syntaxhihglight lang="nimrod"> var languageName = "Nim" while languageName == "Nim"

   echo "Hey! I'm using Nim!"

</syntaxhihglight> 现在,你应该尝试猜猜这段代码会做什么,别担心,慢慢来,我在这儿等着你。

想好了吗?你可能又读了一遍,但还是不知道它到底在做什么,没关系,这可能有点困难,但是,如果你理解了,恭喜你!!! 现在,这段代码的功能是无限重复打印“Hey! I'm using Nim!”,为什么?因为我们设置了变量 languageName(记住,使用 var 创建变量,使用一个等号‘=’为它赋值),然后,我们检查它是否等于“Nim”(如 if 部分所述,== 用于检查两边是否相等)并执行 echo "Hey! I'm using Nim!" ,由于没有一行代码可以更改它,所以会无限循环。现在,如果我们出于任何原因将 var languageName = "Nim" 更改为其他任何内容,例如 var languageName = "My name's Ralph",while 内部的代码将不会执行,甚至一次都不会,因为 languageName == "Nim" 将为 false,CPU 会跳过那部分代码。

我们已经了解了 while,现在我们来认识一下 for。简单来说,它意味着“对于这个集合中的每一个元素,执行以下指令”,就这么简单。但是,如果我们没有举例说明,那会是什么样的好书呢? <syntaxhihglight lang="nimrod"> for a in 0..10: for a in 0..10:echo "this is ", a, " step"

</synyaxhighlight> 我们再来玩一次猜谜游戏,你已经知道规则了吧?现在,让我们开始。

想好了吗?不错,这段代码的功能是打印“Hey!I'm the number 0”,然后对 0 到 10 序列中的每一个数字都打印相同的句子,这是怎么做到的?感谢 &,它会将两个字符串组合在一起,换句话说,它会将它们连接起来(注意:你可以移除 &,代码仍然可以正常工作,因为 echo 会打印每个参数,如果移除 & 并保留空格,它会将它们识别为单独的参数)。

好了,我们完成了循环部分,如果你理解了所有内容,很好,如果没有,试着再读一遍,这些都是基本概念,不难理解。

华夏公益教科书