如何在Ruby中注释多行?
当前回答
#!/usr/bin/env ruby
=begin
Every body mentioned this way
to have multiline comments.
The =begin and =end must be at the beginning of the line or
it will be a syntax error.
=end
puts "Hello world!"
<<-DOC
Also, you could create a docstring.
which...
DOC
puts "Hello world!"
"..is kinda ugly and creates
a String instance, but I know one guy
with a Smalltalk background, who
does this."
puts "Hello world!"
##
# most
# people
# do
# this
__END__
But all forgot there is another option.
Only at the end of a file, of course.
这就是它的样子(通过截图)——否则很难解释上面的评论会是什么样子。单击以放大:
其他回答
=begin
(some code here)
=end
and
# This code
# on multiple lines
# is commented out
都是正确的。第一种注释类型的优点是可编辑性,因为删除的字符更少,所以取消注释更容易。第二类注释的优点是逐行读取代码的可读性,更容易判断某一行已被注释掉。你的电话,但想想谁会来找你,他们阅读和维护起来有多容易。
尽管存在=begin和=end,但正常且更正确的注释方式是在每行上使用#。如果您阅读任何ruby库的源代码,您会发现几乎在所有情况下都是这样进行多行注释的。
使用以下任一项:
=begin This is a comment block =end
or
# This # is # a # comment # block
是rdoc目前唯一支持的两个,我认为这是一个很好的理由只使用这些。
=begin
comment line 1
comment line 2
=end
确保=beginand=end是该行的第一项(没有空格)
下面是一个示例:
=begin
print "Give me a number:"
number = gets.chomp.to_f
total = number * 10
puts "The total value is : #{total}"
=end
放置在=begin和=end之间的所有内容都将被视为注释,而不管其间包含多少行代码。
注意:确保=和begin之间没有空格:
正确:=开始错误:=开始
推荐文章
- RVM不是一个函数,用' RVM use…’不会起作用
- 了解Gemfile。锁文件
- 如何确定一个数组是否包含另一个数组的所有元素
- 是什么导致这个ActiveRecord::ReadOnlyRecord错误?
- 在VS Code中禁用“Comments are not allowed In JSON”错误
- 最好的打印散列的方法
- Rails:dependent =>:destroy VS:dependent =>:delete_all
- 我可以在不包含Ruby模块的情况下调用实例方法吗?
- Swift:理解// MARK
- 如何将新项目添加到哈希
- 测试一个Ruby类是否是另一个类的子类
- 什么时候使用Struct vs. OpenStruct?
- 数组到哈希Ruby
- 我如何让红宝石打印一个完整的回溯而不是截断一个?
- 在构建中编写注释的语法是什么?gradle文件?