Многострочные комментарии в Ruby?

Как я могу прокомментировать несколько строк в Ruby?

9 ответов


#!/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
My 
multiline
comment
here
=end

несмотря на наличие =begin и =end, нормальный и более правильный способ комментировать-использовать #на каждой строке. Если вы прочитаете источник любой библиотеки ruby, вы увидите, что это способ многострочных комментариев почти во всех случаях.


#!/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
This
is
a
comment
block
=end

или

# This
# is
# a
# comment
# block

единственные два в настоящее время поддерживаются rdoc, что является хорошей причиной использовать только их, я думаю.


=begin
(some code here)
=end

и

# This code
# on multiple lines
# is commented out

оба верны. Преимущество первого типа комментария-редактируемость-его легче раскомментировать, потому что удаляется меньше символов. Преимуществом второго типа комментариев является читаемость-читая код строка за строкой, гораздо легче сказать, что конкретная строка была прокомментирована. Ваш звонок, но подумайте о том, кто придет после вас и как легко для них читать и поддерживать.


вот пример :

=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
  • неправильно: = begin

Если кто-то ищет способ прокомментировать несколько строк в HTML-шаблоне в Ruby on Rails, может возникнуть проблема с =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 %>

это будет работать.


=begin comment line 1 comment line 2 =end убедитесь, что =begin и =end-это первое, что на этой строке (без пробелов)