你已经差不多完成这本书的前半部分了,不过后半部分才是更有趣的。你将学到逻辑,并通过条件判断实现有用的功能。
在你继续学习之前,你有一道试题要做。这道试题很难,因為它需要你修正别人写的程序码。当你成为程序设计师以后,你将需要经常面对别的程序设计师的代码,也许还有他们的傲慢态度,他们会经常说自己的代码是完美的。
这样的程序设计师是自以为是不在乎别人的蠢货。优秀的科学家会对他们自己的工作持怀疑态度,同样,优秀的程序设计师也会认為自己的程序码总有出错的可能,他们会先假设是自己的程序码有问题,然后用排除法清查所有可能是自己有问题的地方,最后才会得出「这是别人的错误」这样的结论。
在这节习题中,你将面对一个程度糟糕的程序设计师,并改好他的程序码。我将习题 24 和25 胡乱拷贝到了一个档案中,随机地删掉了一些字,然后添加了一些错误进去。大部分的错误是 Ruby 在执行时会告诉你的,还有一些算术错误是你要自己找出来的。再剩下来的就是格式和拼写错误了
所有这些错误都是程序设计师很容易犯的,就算有经验的程序设计师也不例外。
你的任务是将此文件修改正确,用你所有的技能改进这个脚本。你可以先分析这个文件,或者你还可以把它像学期论文一样印出来,修正里边的每一个缺陷,重复修正和运行的动作,直到这个脚本可以完美地运行起来。在整个过程中不要寻求帮助,如果你卡在某个地方无法进行下去,那就休息一会晚点再做。
就算你需要几天才能完成,也不要放弃,直到完全改对为止。
最后要说的是,这个练习的目的不是写程序,而是修正现有的程序,习题放在下面的网站:
http://ruby.learncodethehardway.org/book/exercise26.txt
从那里把代码复制过来,命名为 `ex26.rb`,这也是本书唯一一处允许你复制粘贴的地方。
- 笨方法更简单
- 习题 00: 准备工作
- 习题 01: 第一个程序
- 习题 02: 注释和#号
- 习题 03: 数字和数学计算
- 习题 04: 变量的命名
- 习题 05: 更多的变量和输出
- 习题 06: 字符串和文字
- 习题 07: 更多输出
- 习题 08: 输出,输出
- 习题 09: 输出,输出,输出~
- 习题 10: 那是啥?
- 习题 11: 提问
- 习题 12: 模块
- 习题 13: 参数,解包,参数
- 习题 14: 提示和传递
- 习题 15: 读取文件
- 习题 16: 操作文件
- 习题 17: 更多的文件操作
- 习题 18: 命名,变量,代码,函数
- 习题 19: 函数和变量
- 习题 20: 函数和文件
- 习题 21: 函数可以传入信息
- 习题 22: 到现在你学到了什么?
- 习题 23: 阅读一些代码
- 习题 24: 更多练习
- 习题 25: 更多更多的练习
- 习题 26: 恭喜你,现在来考试了!
- 习题 27: 记住逻辑关系
- 习题 28: Boolean表达式练习
- 习题 29: 如果
- 习题 30: Else 和 If
- 习题 31: 做出判断
- 习题 32: 循环和数组
- 习题 33: While
- 习题 34: 存取数组里的元素
- 习题 35: 分支和函数
- 习题 36: 设计和测试
- 习题 37: 重视各种符号