Ruby中的多行注释?

Multi-Line Comments in Ruby?

如何在Ruby中评论多行?


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/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.
  • 这就是它的外观(截图),否则它的硬解释如何将上述意见的样子。点击放大:

Comments in a text-editor


1
2
3
4
5
6
=begin
My
multiline
comment
here
=end


尽管存在=begin)在正常和=end,和更多的评论是正确的方式来使用的在线#每线。如果你读任何的Ruby库的源代码,你会看到,这是一对多的方式是做在网上几乎所有的案件。


1
2
3
4
5
6
7
8
9
#!/usr/bin/env ruby

=begin
Between =begin and =end
, any number
of lines may be written. All of these
lines are ignored by the Ruby interpreter.
=end

puts"Hello world!"


使用方:

1
2
3
4
5
6
7
=begin
This
is
a
comment
block
=end

1
2
3
4
5
# This
# is
# a
# comment
# block

二是目前唯一支持的RDoc的,这是很好的理由使用这些我只想。


1
2
3
=begin
(some code here)
=end

1
2
3
# This code
# on multiple lines
# is commented out

都是正确的。优势的第一类型的评论是editability &mdash;它的特点是更容易出错,因为fewer到取消。优势的第二类型的评论是:代码阅读readability &mdash;线对线,它的一个特别的多,更容易告诉commented线已经出来了。你的呼叫,但想起谁是跟着你和它是如何容易阅读和维护他们。


这里是一个例子:

1
2
3
4
5
6
7
8
=begin
print"Give me a number:"
number = gets.chomp.to_f

total = number * 10
puts "The total value is : #{total}"

=end

一切都发生在你和=end=begin将如何处理许多的评论,无论它包含的代码之间的线。

注意:请确保有没有空间之间的=begin

  • 正确的:=begin
  • 错误:= begin


=begin
comment line 1
comment line 2
=end
确保=和=端开始,第一件事是在线线(空间)


有人在寻找案例一路评论多线在Ruby on Rails的HTML模板,可能是有问题的开始端(= =),例如:

1
2
3
4
5
6
7
8
<%
=begin
%>
  ... multiple HTML lines to comment out
  <%= image_tag("image.jpg") %>
<%
=end

%>

将失败,因为在_ % >关闭标签的形象。

在这个案例,也许它是,这是否是一arguable commenting缩小或不,但我更喜欢简单的undesired到第enclose带有一块:"if false"

1
2
3
4
<% if false %>
  ... multiple HTML lines to comment out
  <%= image_tag("image.jpg") %>
<% end %>

这将工作。