Wie kann ich mehrere Zeilen in Ruby kommentieren?
Wie kann ich mehrere Zeilen in Ruby kommentieren?
Antworten:
#!/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.
#
sie alle zu verwenden, hauptsächlich, weil sie die kommentierten Zeilen visuell besser trennen als =begin
/ =end
oder die Here-to-Methode verwenden. Und gute Arbeit.
=begin
und es =end
darf kein Leerzeichen vorangestellt werden.
=begin...=end
und der letzte verwendete Block #
von rdoc erfasst werden.
=begin
My
multiline
comment
here
=end
#
vor jeder einzelnen Zeile ein Leerzeichen ein? Es sind viele Tastenanschläge, besonders wenn ich anfange, Zeilenumbrüche hinzuzufügen.
Trotz der Existenz von =begin
und =end
ist die normale und korrektere Art zu kommentieren #
, in jeder Zeile 's zu verwenden. Wenn Sie die Quelle einer Ruby-Bibliothek lesen, werden Sie feststellen, dass in fast allen Fällen mehrzeilige Kommentare auf diese Weise erstellt werden.
#
es lieber, weil es offensichtlicher ist. Beim Auskommentieren von Code ist es wichtig, deutlich zu machen, dass genau das passiert ist. Wenn Sie den Code ohne die Vorteile der Codefärbung in einem Editor anzeigen, =begin/=end
kann es schwierig sein, herauszufinden, warum Code ignoriert wird.
#
Kommentare verwenden. (Ich bin verwirrt, warum dies zwei Abstimmungen hatte. Ich denke, die Stack Overflow-Community muss es manchmal falsch machen!)
3 == three
wo def three; 1 + 1 + 1 end
. Daher sind beide gültig. Wen interessiert das? Verwenden Sie 3
!
vi
auf einem Produktionsserver verwenden. In diesem Fall sollten Sie Ihre Entwicklung dort wahrscheinlich sowieso nicht durchführen.
#!/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!*/
Es kann sinnvoll sein, wenn Sie mehrzeilige Kommentare und Code in einem mehrzeiligen Kommentar haben, z. B. eine Funktion mit Dokumentation, die nicht von Personen verwendet werden soll, die Sie jedoch auch nicht aus der Datei entfernen möchten.
Verwenden Sie entweder:
= beginne Diese ist ein Kommentar Block = Ende
oder
# Diese # ist # ein # Kommentar # Block
sind die einzigen zwei, die derzeit von rdoc unterstützt werden, was meiner Meinung nach ein guter Grund ist, nur diese zu verwenden.
=begin
oder zu halten, #
ist, dass beide <<-DOC
und die "
Syntax bei der Ausführung nutzlose Zeichenfolgenliterale erzeugen.
=begin
(some code here)
=end
und
# This code
# on multiple lines
# is commented out
sind beide richtig. Der Vorteil des ersten Kommentartyps ist die Bearbeitbarkeit. Das Kommentieren ist einfacher, da weniger Zeichen gelöscht werden. Der Vorteil des zweiten Kommentartyps ist die Lesbarkeit: Wenn Sie den Code zeilenweise lesen, ist es viel einfacher zu erkennen, dass eine bestimmte Zeile auskommentiert wurde. Ihr Anruf, aber denken Sie darüber nach, wer nach Ihnen kommt und wie einfach es für sie ist, zu lesen und zu pflegen.
=begin
und =end
vermitteln Sie nicht visuell, dass das, was dazwischen liegt, ein Kommentar ist ... Clojure verwendet zum Beispiel, (comment :whatever)
was bei Leads sagt, was es bedeutet: stackoverflow.com/questions/1191628/block-comments-in-clojure
Hier ist ein Beispiel :
=begin
print "Give me a number:"
number = gets.chomp.to_f
total = number * 10
puts "The total value is : #{total}"
=end
Alles , was Sie legen dazwischen =begin
und =end
wird als Kommentar behandelt werden , unabhängig davon , wie viele Zeilen Code enthält zwischen.
Hinweis: Stellen Sie sicher, dass zwischen =
und kein Leerzeichen steht begin
:
=begin
= begin
=begin
comment line 1
comment line 2
=end
Stellen Sie sicher, dass = Anfang und = Ende das erste in dieser Zeile ist (keine Leerzeichen).
Wenn jemand nach einer Möglichkeit sucht, mehrere Zeilen in einer HTML-Vorlage in Ruby on Rails zu kommentieren, liegt möglicherweise ein Problem mit = begin = end vor, zum Beispiel:
<%
=begin
%>
... multiple HTML lines to comment out
<%= image_tag("image.jpg") %>
<%
=end
%>
schlägt fehl, weil%> das image_tag schließt.
In diesem Fall ist es vielleicht fraglich, ob dies auskommentiert wird oder nicht, aber ich ziehe es vor, den unerwünschten Abschnitt mit einem "if false" -Block zu versehen:
<% if false %>
... multiple HTML lines to comment out
<%= image_tag("image.jpg") %>
<% end %>
Das wird funktionieren.
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
end
Beachten Sie, dass die Stackoverflow-Engine zum Zeitpunkt des Beitrags die Syntaxfärbung nicht korrekt wiedergibt. Das Testen, wie es in einem Editor Ihrer Wahl gerendert wird, wird als Übung zugelassen. ;)
.pp
Manifesten (die auf einer Ruby-ähnlichen Syntax basieren) darauf/**/