Wie kann ich in Ruby mehrere Zeilen kommentieren?
#!/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
Trotz der Existenz von =begin
und =end
besteht die normale und korrektere Art zu kommentieren darin, #
in jeder Zeile zu verwenden. Wenn Sie den Quellcode einer Ruby Bibliothek lesen, werden Sie feststellen, dass in fast allen Fällen mehrzeilige Kommentare auf diese Weise erstellt werden.
#!/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!"
Verwenden Sie entweder:
= begin Dies ist ein Kommentar block = end
oder
# Diese # Ist # Ein # Kommentar # Block
sind die einzigen, die derzeit von rdoc unterstützt werden, was meiner meinung nach ein guter grund ist, nur diese zu verwenden.
=begin
(some code here)
=end
und
# This code
# on multiple lines
# is commented out
sind beide richtig. Der Vorteil des ersten Kommentartyps liegt in der Bearbeitbarkeit. Das Auskommentieren ist einfacher, da weniger Zeichen gelöscht werden. Der Vorteil des zweiten Kommentartyps ist die Lesbarkeit: Beim zeilenweisen Lesen des Codes 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.
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 zwischen =begin
und =end
einfügen, wird als Kommentar behandelt, unabhängig davon, wie viele Codezeilen sich dazwischen befinden.
Hinweis: Stellen Sie sicher, dass zwischen =
und begin
kein Leerzeichen ist:
=begin
= begin
=begin comment line 1 comment line 2 =end
stellen Sie sicher, dass = begin and = end das erste in dieser Zeile ist (keine Leerzeichen)
Falls jemand nach einer Möglichkeit sucht, mehrere Zeilen in einer HTML-Vorlage in Ruby on Rails zu kommentieren, könnte ein Problem mit = begin = end vorliegen, zum Beispiel:
<%
=begin
%>
... multiple HTML lines to comment out
<%= image_tag("image.jpg") %>
<%
=end
%>
schlägt fehl, weil%> das image_tag geschlossen hat.
In diesem Fall ist es vielleicht fraglich, ob dies auskommentiert wird oder nicht, aber ich bevorzuge es, den unerwünschten Abschnitt mit einem "wenn falsch" -Block einzuschließen:
<% if false %>
... multiple HTML lines to comment out
<%= image_tag("image.jpg") %>
<% end %>
Das wird funktionieren.