Comment puis-je commenter plusieurs lignes dans Ruby?
Comment puis-je commenter plusieurs lignes dans Ruby?
Réponses:
#!/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.#tous, principalement parce que cela sépare visuellement les lignes commentées mieux que =begin/ =endou en utilisant la méthode here-to. Et, beau travail.
                    =beginet =endne pouvez être précédé d'aucun espace.
                    =begin...=endet le dernier bloc utilisant #sont récupérés par rdoc lors de la génération de la documentation.
                    =begin
My 
multiline
comment
here
=end#et espace avant chaque ligne? C'est beaucoup de touches, surtout si je commence à ajouter des sauts de ligne.
                    Malgré l'existence de =beginet =end, la manière normale et plus correcte de commenter consiste à utiliser #des sur chaque ligne. Si vous lisez la source d'une bibliothèque ruby, vous verrez que c'est la façon dont les commentaires sur plusieurs lignes sont effectués dans presque tous les cas.
#car c'est plus évident. Lorsque vous commentez du code, il est important de montrer clairement que c'est ce qui s'est produit. Si vous visualisez le code sans l'avantage de la coloration du code dans un éditeur, il =begin/=endpeut être difficile de comprendre pourquoi le code est ignoré.
                    #commentaires. (Je suis mystifié pourquoi cela a eu deux downvotes. Je suppose que la communauté Stack Overflow doit parfois se tromper!)
                    3 == threeoù def three; 1 + 1 + 1 end. Par conséquent, les deux sont valides. On s'en fout? Utilisez 3!
                    visur un serveur de production. Dans ce cas, vous ne devriez probablement pas y faire votre développement de toute façon.
                    #!/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!"/*I am a\n#nested\ncomment, which really serves no purpose*/ /*I am bound /*to*/ FAIL!*/Cela peut avoir du sens si vous avez des commentaires sur une seule ligne et du code à l'intérieur d'un commentaire multiligne, comme une fonction avec une documentation que vous ne voulez pas que les gens utilisent, mais vous ne voulez pas non plus le supprimer du fichier.
                    En utilisant soit:
= commencer Cette est une commentaire bloquer = fin
ou
# Cette # est # une # commentaire # bloquer
sont les deux seuls actuellement pris en charge par rdoc, ce qui est une bonne raison de ne les utiliser que je pense.
=beginou #est que les deux <<-DOCet les "syntaxes généreront des littéraux de chaîne inutiles à l'exécution.
                    =begin
(some code here)
=endet
# This code
# on multiple lines
# is commented outsont tous les deux corrects. L'avantage du premier type de commentaire est la possibilité de modification - il est plus facile de décommenter car moins de caractères sont supprimés. L'avantage du deuxième type de commentaire est la lisibilité - en lisant le code ligne par ligne, il est beaucoup plus facile de dire qu'une ligne particulière a été mise en commentaire. Votre appel, mais pensez à qui vient après vous et à quel point il est facile à lire et à maintenir.
=beginet =endne transmet pas visuellement que ce qui est entre les deux est un commentaire ... Clojure, par exemple, utilise (comment :whatever)ce qui, au conduit, dit ce que cela signifie: stackoverflow.com/questions/1191628/block-comments-in-clojure
                    Voici un exemple :
=begin 
print "Give me a number:"
number = gets.chomp.to_f
total = number * 10
puts  "The total value is : #{total}"
=endTout ce que vous placez entre =beginet =endsera traité comme un commentaire, quel que soit le nombre de lignes de code qu'il contient entre.
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 on Rails, il peut y avoir un problème avec = begin = end, par exemple:
<%
=begin
%>
  ... multiple HTML lines to comment out
  <%= image_tag("image.jpg") %>
<%
=end
%>échouera à cause de%> la fermeture de l'image_tag.
Dans ce cas, il est peut-être discutable qu'il s'agisse d'un commentaire ou non, mais je préfère entourer la section indésirable d'un bloc "si faux":
<% if false %>
  ... multiple HTML lines to comment out
  <%= image_tag("image.jpg") %>
<% end %>Cela fonctionnera.
  def idle
    <<~aid
    This is some description of what idle does.
    It does nothing actually, it's just here to show an example of multiline
    documentation. Thus said, this is something that is more common in the
    python community. That's an important point as it's good to also fit the
    expectation of your community of work. Now, if you agree with your team to
    go with a solution like this one for documenting your own base code, that's
    fine: just discuss about it with them first.
    Depending on your editor configuration, it won't be colored like a comment,
    like those starting with a "#". But as any keyword can be used for wrapping
    an heredoc, it is easy to spot anyway. One could even come with separated
    words for different puposes, so selective extraction for different types of
    documentation generation would be more practical. Depending on your editor,
    you possibly could configure it to use the same syntax highlight used for
    monoline comment when the keyword is one like aid or whatever you like.
    Also note that the squiggly-heredoc, using "~", allow to position
    the closing term with a level of indentation. That avoids to break the visual reading flow, unlike this far too long line.
    aid
  endNotez qu'au moment de la publication, le moteur stackoverflow ne rend pas correctement la coloration de la syntaxe. Tester le rendu dans l'éditeur de votre choix est considéré comme un exercice. ;)
.ppmanifestes Puppet (qui est basé sur une syntaxe de type Ruby), vous pouvez utiliser des commentaires de bloc de style c/**/