Comment commenter plusieurs lignes dans Ruby?
#!/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
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.
#!/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!"
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.
=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.
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
:
=begin
= begin
=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)
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.