你应该在习题 0 中花了不少的时间,学会了如何安装文字编辑器、执行文字编辑器、以及如何运行 Terminal,如果你还没这么做的话,请别继续往前走,之后会有很多苦头的。请不要跳过前一个习题的内容继续前进,这也是本书唯一的一次在习题开头就做这样的警告。
~~~
puts "Hello World!"
puts "Hello Again"
puts "I like typing this."
puts "This is fun."
puts 'Yay! Printing.'
puts "I'd much rather you 'not'."
puts 'I "said" do not touch this.'
~~~
将上面的内容写到一个文件中,取名为ex1.rb。注意这样的命名方式,Ruby 文件最好以 .rb 结尾。
然后你需要在 Terminal 中输入以下内容来执行这段程序:
`ruby ex1.rb`
如果你写对了的话,你应该看到和下面一样的内容。如果不一样,那就是你弄错了什么东西。不是电脑有问题,电脑没问题。
# 你应该看到的内容
* * * * *
~~~
$ ruby ex1.rb
Hello World!
Hello Again
I like typing this.
This is fun.
Yay! Printing.
I'd much rather you 'not'.
I "said" do not touch this.
$
~~~
你也许会看到` $ `前面会显示你所在的目录的名称,这不是问题,但如果你的输出不一样的话,你需要找出为什么会不一样,然后把你的程序改对。
如果你看到类似如下的错误信息:
~~~
ruby ex1.rb
ex1.rb:4: syntax error, unexpected tCONSTANT, expecting $end
puts "This is fun."
^
~~~
看懂这些内容对你来说是很重要的。因为你以后还会犯类似的错误。就是我现在也会犯这样的错误。让我们一行一行来看。
1. 首先我们在 Terminal 输入命令来执行 ex1.rb 脚本。
2. Ruby 告诉我们 ex1.rb 文件的第 4 行有一个错误。
3. 然后这一行的内容被输出了出来。
4. 然后 Ruby 印出了一个 ^ (插入符号,caret) 符号,用来指示错误的位置。
5. 最后,它印出了一行「语法错误(SyntaxError)」告诉你究竟是发生了怎么样的错误。通常这些错误信息都非常的难懂,不过你可以把错误信息的内容复制到搜寻引擎里,然后你就能看到别人也遇到过这样的错误,而且你也许能搞清楚怎样解决这个问题。
# 加分习题
* * * * *
你还会有加分习题需要完成。加分习题里面的内容是供你尝试的。如果你觉得做不出来,你可以暂时跳过, 过段时间再回来做。
在这个练习中,试试这些东西:
1. 让你的脚本再多输出一行。
2. 让你的脚本只输出其中的一行。
3. 在一行的开始位置放置一个 `# `(octothorpe) 符号。它的作用是什么?自己研究一下。
4. 从现在开始,除非特别情况,我将不再解释每个习题的运作原理了。
> Note: 井号有很多的英文代称,例如「octothorpe ( 八角帽 )」」、「pound( 英镑符号 )」、「hash( 电话的 # 键 )」、「mesh ( 网 )」。
- 笨方法更简单
- 习题 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: 重视各种符号