本节书摘来自异步社区《“笨办法”学Ruby》(第3版)一书中的习题2 注释和#号,作者【美】Zed A. Shaw(泽德 A. 肖),更多章节内容可以访问云栖社区“异步社区”公众号查看。
习题2 注释和#号
“笨办法”学Ruby(第3版)
程序里的注释是很重要的。它们可以用自然语言告诉你某段代码的功能是什么。想要临时移除一段代码时,你也可以用注释的方式临时禁用这段代码。这个习题就是让你学会在Ruby中使用注释。
ex2.rb
1 # A comment, this is so you can read your program later.
2 # Anything after the # is ignored by ruby.
3
4 puts "I could have code like this." # and the comment after is ignored
5
6 # You can also use a comment to "disable" or comment out a piece of code:
7 # puts "This won't run."
8
9 puts "This will run."
从现在开始,我将用这样的方式来演示代码。我一直在强调“完全一样”,不过你也不必按照字面意思理解。你的程序在屏幕上的显示可能会有些不同,重要的是你在文本编辑器中输入的文本的正确性。事实上,我可以用任何编辑器写出这段程序,而且结果是完全一样的。
应该看到的结果
习题2 会话
$ ruby ex2.rb
I could have code like this.
This will run.
再说一次,我不会再贴各种终端的屏幕截图了。你应该明白上面的内容是输出内容的字面翻译,而$ ruby ...下面的内容才是你应该关心的。
巩固练习
1.弄清楚#字符的作用,并且记住它的名字(英文为octothorpe或者pound character)。
2.打开ex2.rb文件,从后往前逐行检查。从最后一行开始,倒着逐个单词检查回去。
3.有没有发现什么错误呢?有的话就改正过来。
4.读你写的代码,把每个字符都读出来。有没有发现更多的错误呢?有的话也一样改正过来。
常见问题回答
你确定#字符的名称是pound character?
我叫它octothorpe,这个名字不是哪个国家的标准名称,但所有的人都能看懂它的意思。每个国家都觉得他们的叫法最正确、最闪亮。对我来说这是自大狂的想法,而且说真的,与其去关心这种细枝末节,不如把时间花在更重要的事情上,比如好好学习编程。
如果#是注释的意思,那么为什么# -- coding: utf-8 --能起作用呢?
Ruby其实还是没把这行当做代码处理,这种用法只是让字符编码格式被识别的一个取巧的方案,或者说是一种没办法的办法吧。在编辑器设置里你还能看到一种类似的注释。
为什么puts "Hi # there."里的#没被忽略掉?
这行代码里的#处于字符串内部,所以它就是引号结束前的字符串中的一部分,这时它只是一个普通字符,而不代表注释的意思。
怎样做多行注释?
每行前面放一个#就可以了。
我们国家的键盘上找不到#字符,怎么办?
有的国家要通过Alt键和其他键组合才能输入这个字符。你可以用搜索引擎找一下解决方案。
为什么要让我倒着阅读代码?
这样可以避免让你的大脑跟着每一段代码内容的意思走,这样可以让你精确处理每个片段,从而让你更容易发现代码中的错误。这是一个很好用的查错技巧。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。