如何在Ruby中注释多行?


当前回答

=begin
My 
multiline
comment
here
=end

其他回答

=begin
My 
multiline
comment
here
=end

尽管存在=begin和=end,但正常且更正确的注释方式是在每行上使用#。如果您阅读任何ruby库的源代码,您会发现几乎在所有情况下都是这样进行多行注释的。

=begin
(some code here)
=end

and

# This code
# on multiple lines
# is commented out

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

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

如果有人在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 %>

这会奏效的。