《“笨办法”学Ruby》(第3版)—习题1第一个程序

简介: 你应该在习题0上花了不少的时间,学会了如何安装文本编辑器,如何运行文本编辑器,如何运行终端,以及如何使用文本编辑器和终端。如果你还没有完成那个练习,请不要继续往下进行,否则你会觉得很不好过的。写在习题开头警告你不要跳过前面内容的警示在本书中仅此一次,切记切记。

本节书摘来自异步社区《“笨办法”学Ruby》(第3版)一书中的习题1第一个程序,作者【美】Zed A. Shaw(泽德 A. 肖),更多章节内容可以访问云栖社区“异步社区”公众号查看。

习题1 第一个程序
“笨办法”学Ruby(第3版)
你应该在习题0上花了不少的时间,学会了如何安装文本编辑器,如何运行文本编辑器,如何运行终端,以及如何使用文本编辑器和终端。如果你还没有完成那个练习,请不要继续往下进行,否则你会觉得很不好过的。写在习题开头警告你不要跳过前面内容的警示在本书中仅此一次,切记切记。

将下面的内容写到一个取名为ex1.rb的文件中。Ruby文件最好以.rb结尾。

ex1.rb

1  puts "Hello World!"
2  puts "Hello Again"
3  puts "I like typing this."
4  puts "This is fun."
5  puts "Yay! Printing."
6  puts "I'd much rather you 'not'."
7  puts 'I "said" do not touch this.'

如果你是在Mac OS X下使用TextWrangler,那你的文本编辑器大致是图1-1所示的这个样子。


37d2dff817d5b60708904b2b252b29d7561724aa

如果你是在Windows下使用Notepad++,那你看到的应该是图1-2所示的这个样子。

3e6ae6ef2f861e925bafe0762f4aeb21bb088570

如果你的编辑器长得不是完全一样也不用担心,应该是非常接近的。创建文件时,你要记住以下两点。

1.注意我没有键入左边的行号。这些是为了便于对代码具体的某一行进行讨论(如“参见第5行”)额外加到书里边的。你无需将行号写进Ruby脚本中去。

2.注意截图中开始的puts语句,它和ex1.rb代码范例中的是完全一样的。这里要求你做到“完全一样”,而不是“差不多一样”。要让这段脚本正常工作,代码中的每个字符都必须完全匹配。当然,你的编辑器显示的颜色可能不一样,这并不重要,只有你键入的字符才是重要的。

需要在终端通过输入以下内容来运行这段代码:

ruby ex1.rb
如果写对了,你应该看到和下面“应该看到的结果”一节中一样的输出。如果不一样,就是你哪儿弄错了,计算机是不会错的。

应该看到的结果
在Mac OS X的Terminal下你看到的应该是图1-3所示的这个样子。


217db68db554b72960cf6fdbdf7576ebbbc5b9e6

在Windows的PowerShell下你看到的应该是图1-4所示的这个样子。

ec796b90a05ab28f46815a9d97222c2c93976bfc

你也许会看到ruby ex1.rb命令前面显示的一些信息不一样,这不是问题,重要的是你键入了这个命令,而且看到了相同的输出。

如果有错误,你会看到与下面类似的信息:

> ruby ex1.rb
ex1.rb:3: syntax error, unexpected tCONSTANT, expecting $end
puts "I like typing this."                            ^

你应该学会看懂这些出错信息,这是很重要的一点,因为你以后还会犯类似的错误。就是现在的我也会犯这样的错误。让我们一行一行来看。

1.首先我们在终端输入命令来运行ex1.rb脚本。

2.Ruby告诉我们ex1.rb文件的第3行有一个错误。错误的类型是“Syntax Error”(语法错误),有些程序员专用的术语你通常可以忽略。

3.然后这一行出错的内容被显示出来,以供我们查看。

警告
如果你来自其他国家,而且你看到关于ASCII编码的错误,那就在你的Ruby脚本的最上面加入下面这一行:

# -*- coding: utf-8 -*-

这样你就在脚本中使用了Unicode UTF-8编码,这些错误就不会出现了。

巩固练习
每个习题都有巩固练习要完成。巩固练习里边的内容是供你尝试的。如果你觉得做不出来,可以暂时跳过,过段时间再回来做。

在这个习题中,试试下面几件事儿。

1.让你的脚本再多打印一行。

2.让你的脚本只打印其中的一行。

3.在一行的起始位置放一个“#”字符。它的作用是什么?自己研究一下。

从现在开始,除非是特别难的习题,否则我将不再解释每个习题的工作原理了。

注意

(octothorpe)有很多的英文名字,如pound(英镑符)、hash(电话的#键)、mesh(网)等。选一个你觉得酷的用就行了。

常见问题回答
下面是学生在做这些习题时问过的真实问题。

怎样让编辑器显示不同颜色?
编辑之前先将文件保存为.rb格式,如ex1.rb,后面编辑时你就可以看到各种颜色了。

看到错误信息:ruby: No such file or directory -- ex1.rb (LoadError)。
确认你的运行目录和你创建文件的目录是同一个。你需要先使用cd命令进入这个目录。例如,如果你的文件保存在lrthw/ex1.rb中,那么你需要运行cd lrthw/,然后再运行ruby ex1.rb。如果你看不懂以上内容,那就看一遍附录吧。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

相关文章
|
测试技术 C++ Ruby
C++程序中嵌入Ruby脚本系统
Ruby,一种为简单快捷面向对象编程(面向对象程序设计)而创的脚本语言,由日本人松本行弘(まつもとゆきひろ,英译:Yukihiro Matsumoto,外号matz)开发,遵守GPL协议和Ruby License。
1559 0
|
消息中间件 安全 Ruby
Nanite:Ruby程序的一个自我装配集群
本文讲的是Nanite:Ruby程序的一个自我装配集群,Nanite(由Ezra Zygmuntowicz开发)是Engine Yard云计算策略的一个新兵:它是“Ruby程序的一个自我装配集群”,用以构筑高度可伸缩的Web应用的后端。
1096 0
|
程序员 Ruby
《Effective Ruby:改善Ruby程序的48条建议》一导读
学习一门新的编程语言通常需要经过两个阶段。第一阶段是学习这门编程语言的语法和结构。如果我们具有其他编程语言的经验,这个阶段通常只需要很短的时间。以Ruby为例,接触过其他面向对象语言的程序员对Ruby的语法也会比较熟悉。有经验的程序员对于语言的结构(如何根据语法构建应用程序)是很熟悉的。
1207 0