如何在Ruby中注释多行?


当前回答

下面是一个示例:

=begin 
print "Give me a number:"
number = gets.chomp.to_f

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

=end

放置在=begin和=end之间的所有内容都将被视为注释,而不管其间包含多少行代码。

注意:确保=和begin之间没有空格:

正确:=开始错误:=开始

其他回答

=begin
My 
multiline
comment
here
=end
#!/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!"
=begin
(some code here)
=end

and

# This code
# on multiple lines
# is commented out

都是正确的。第一种注释类型的优点是可编辑性,因为删除的字符更少,所以取消注释更容易。第二类注释的优点是逐行读取代码的可读性,更容易判断某一行已被注释掉。你的电话,但想想谁会来找你,他们阅读和维护起来有多容易。

#!/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.

这就是它的样子(通过截图)——否则很难解释上面的评论会是什么样子。单击以放大:

如果有人在RubyonRails中寻找在html模板中注释多行的方法,那么=begin=end可能会有问题,例如:

<%
=begin
%>
  ... multiple HTML lines to comment out
  <%= image_tag("image.jpg") %>
<%
=end
%>

将失败,因为%>正在关闭image_tag。

在这种情况下,这是否是注释掉可能是有争议的,但我更喜欢用“if false”块括住不需要的部分:

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

这会奏效的。