Многострочные комментарии в Ruby? - PullRequest
701 голосов
/ 07 июня 2010

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

Ответы [ 9 ]

1280 голосов
/ 07 июня 2010
#!/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

121 голосов
/ 07 июня 2010
=begin
My 
multiline
comment
here
=end
54 голосов
/ 08 июня 2010

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

19 голосов
/ 07 июня 2010
#!/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!"
15 голосов
/ 05 августа 2014

Используя либо:

=begin
This
is
a
comment
block
=end

или

# This
# is
# a
# comment
# block

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

13 голосов
/ 21 апреля 2014
=begin
(some code here)
=end

и

# This code
# on multiple lines
# is commented out

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

12 голосов
/ 15 августа 2014

Вот пример:

=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
3 голосов
/ 28 августа 2018

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

2 голосов
/ 18 июня 2018

Если кто-то ищет способ комментировать несколько строк в шаблоне 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 %>

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...