web-dev-qa-db-fra.com

Des commentaires multilignes en Ruby?

Comment commenter plusieurs lignes dans Ruby?

712
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.
  • Voici à quoi cela ressemble (via la capture d'écran) - sinon, il est difficile d'interpréter l'aspect des commentaires ci-dessus. Cliquez pour zoomer :

Comments in a text-editor

1295
Konstantin Haase
=begin
My 
multiline
comment
here
=end
122
Adam Lear

Malgré l'existence de =begin et =end, la façon la plus normale et la plus correcte de commenter consiste à utiliser # sur chaque ligne. Si vous lisez le source de toute bibliothèque Ruby, vous verrez que c'est ainsi que les commentaires multi-lignes sont faits dans presque tous les cas.

54
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

En utilisant soit:

 = commencer 
 Ce 
 est 
 a 
 commenter 
 bloquer 
 = terminer 

ou

 # Ce 
 # Est 
 # Un 
 # Commentaire 
 # Bloquer 

sont les deux seuls actuellement supportés par rdoc, ce qui est une bonne raison de n’utiliser que ceux-ci je pense.

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

et

# This code
# on multiple lines
# is commented out

sont tous les deux corrects. Le premier type de commentaire présente l'avantage d'être modifiable: il est plus facile de supprimer le commentaire car moins de caractères sont supprimés. L'avantage du second type de commentaire est la lisibilité: en lisant le code ligne par ligne, il est beaucoup plus facile de savoir qu'une ligne particulière a été commentée. Votre appel, mais pensez à qui vient après vous et à quel point il est facile pour eux de lire et d’entretenir.

13
La-comadreja

Voici un exemple :

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

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

=end

Tout ce que vous placez entre =begin et =end sera traité comme un commentaire, quel que soit le nombre de lignes de code qu'il contient.

Remarque: Assurez-vous qu'il n'y a pas d'espace entre = et begin:

  • Correct: =begin
  • Mauvais: = begin
12
Prabhakar

=begin comment line 1 comment line 2 =end assurez-vous que = begin et = end est la première chose sur cette ligne (pas d'espaces)

4
anandharshan

Si quelqu'un cherche un moyen de commenter plusieurs lignes dans un modèle HTML dans Ruby sur Rails, il pourrait y avoir un problème avec = begin = end, par exemple:

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

échouera à cause du%> fermant le image_tag.

Dans ce cas, on peut peut-être se demander s'il s'agit d'un commentaire ou non, mais je préfère enfermer la section non désirée avec un bloc "if false":

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

Cela fonctionnera.

2
user2553863