💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
现在你已经学会了「if 语句」,我将给你一些使用 `for` 循环和 `while` 循环的规则,以免你日后碰到麻烦。我还会教你一些测试的小技巧,以便你能发现自己程序的问题。最后,你将需要设计一个和上节类似的小游戏,不过内容略有更改。 # If 语句的规则 * * * * * 1. 每一个「if语句」必伴随须一个 `else`。 2. 如果这个 `else` 因为没有意义,而永远都没被执行到,那你必须在` else` 语句后面使用一个叫 `die`的函数,让它输出错误并死给你看,这和上一节的习题类似,这样你可以找到很多的错误。 3. 千万不要使用超过两层的 `if` 语句,最好尽量保持只有 1 层。那你就需要把第二个 `if `移到另一个函数里面 4. 将if语句当做段落来对待,其中的每一个 `if、elsif、else`组合就跟一个段落的句子组合一样。在这种组合的最前面和最后面留一个空行以作区分。 5. 你的布尔测试应该很简单,如果它们很复杂的话,你需要将它们的运算式先放到一个变量里,并且为变量取一个好名字。 如果你遵循上面的规则,你就会写出比大部分程序设计师都好的代码来。回到上一个练习中,看看我有没有遵循这些规则,如果没有的话,就将其改正过来。 > Warning: 在日常写程序中不要成为这些规则的奴隶。在训练中,你需要通过这些规则的应用来巩固你学到的知识,而在实际写程序中这些规则有时其实很蠢。如果你觉得哪个规则很蠢,就别使用它。 # 循环的规则 * * * * * 1. 只有在循环永不停止时使用 `while` ,这意味着你可能永远都用不到。这条只有 Ruby 中成立,其他的语言另当别论。 2. 其他类型的循环都使用 `for` ,尤其是在循环的对象数量固定或者有限的情况下。 # 除错(Debug) 的小技巧 * * * * * 1. 不要使用「debugger」。`Debugger` 所作的相当于对病人的全身扫描。你并不会得到某方面的有用信息,而且你会发现它输出的信息太多,而且大部分没有用,或者只会让你更困惑。 2. 最好的除错技巧是使用 `puts` 或 `p` 在各个你想要检查的关键环节将关键变量输出,从而检查哪里是否有错。 3. 让程序一部分一部分地运行起来。不要等一个很长的脚本写完后才去运行它。写一点,运行一点,再修改一点。 # 家庭作业 * * * * * 写一个和上节练习类似的游戏。同类的任何题材的游戏都可以,花一个星期让它尽可能有趣一些。作为加分习题,你可以尽量多使用数组、函数、以及模块(记得习题 13 吗?),而且尽量多弄一些新的 Ruby 程序让你的游戏跑起来。 过有一点需要注意,你应该把游戏的设计先写出来。在你开始写代码之前,你应该设计出游戏的地图,创建出玩家会碰到的房间、怪物、以及陷阱等环节。 一旦搞定了地图,你就可以写代码了。如果你发现地图有问题,就调整一下地图,让代码和地图互相符合。 最后一个建议:每一个程序设计师在开始一个新的大项目时,都会被非理性的恐惧影响到。为了避免这种恐惧,他们会拖延时间,到最后一事无成。我有时会这样,每个人都会有这样的经历,避免这种情况的最好的方法是把自己要做的事情列出来,一次完成一样。 开始做吧。先做一个小一点的版本,扩充它让它变大,把自己要完成的事情一一列出来,然后逐个完成就可以了。