Многострочные комментарии в 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
и =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-это первое, что на этой строке (без пробелов)