it-swarm-eu.dev

Víceřádkové komentáře v Ruby?

Jak mohu komentovat více řádků v Ruby?

693
Mohit Jain
#!/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.
  • Takto to vypadá (přes screenshot) - jinak je těžké interpretovat, jak budou výše uvedené komentáře vypadat. Přiblížit kliknutím :

 Comments in a text-editor

1271
=begin
My 
multiline
comment
here
=end
119
Adam Lear

Navzdory existenci =begin a =end, normální a správnější způsob, jak komentovat, je použít # na každém řádku. Pokud si přečtete zdroj jakékoli knihovny Ruby, uvidíte, že se jedná o způsob, jakým se v téměř všech případech provádí víceřádkové komentáře.

53
Rein Henrichs
#!/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!"
19
miku

Použití:

 = begin 
 Toto 
 je 
 a 
 komentář 
 blok 
 = end 

nebo

 # Toto 
 # Je 
 # A 
 # Komentář 
 # Block 

jsou jen dva v současné době podporované rdoc, což je dobrý důvod, proč používat pouze ty myslím, že.

14
the Tin Man
=begin
(some code here)
=end

a

# This code
# on multiple lines
# is commented out

oba jsou správné. Výhodou prvního typu komentáře je editovatelnost - je snadnější odkomentovat, protože je odstraněno méně znaků. Výhodou druhého typu komentáře je čitelnost - čtení kódu řádek po řádku, je mnohem snazší zjistit, že určitý řádek byl komentován. Vaše volání, ale přemýšlejte o tom, kdo po vás přichází a jak je pro ně snadné číst a udržovat.

13
La-comadreja

Zde je příklad:

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

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

=end

Vše, co vložíte mezi =begin a =end, bude považováno za komentář bez ohledu na to, kolik řádků kódu obsahuje.

Poznámka: Ujistěte se, že mezi = a begin není mezera:

  • Opravit: =begin
  • Chybné: = begin
12
Prabhakar

=begin comment line 1 comment line 2 =end make sure = begin a = end je první věc na tomto řádku (bez mezer)

3
anandharshan

Pokud někdo hledá způsob, jak komentovat více řádků v html šabloně v Ruby on Rails, může být problém s = begin = end, například:

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

se nezdaří z důvodu%> zavření image_tag.

V tomto případě je možná sporné, zda se jedná o komentáře nebo ne, ale raději uzavřím nežádoucí část s blokem "if false":

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

To bude fungovat.

2
user2553863