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
=begin
と=end
が存在するにもかかわらず、コメントを書くための通常の、そしてより正しい方法は、各行に#
を使うことです。 Rubyライブラリのソースを読むと、ほとんどすべての場合にこれが複数行コメントが行われる方法であることがわかります。
#!/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!"
どちらかを使う:
= begin この は、 コメント、 ブロック、 =終了 です。
または
#この[ ]#は[ ]#a [ ]#コメント[ ]#ブロック[ ]
現在rdocでサポートされているのはこの2つだけですが、これだけを使用するのは良い理由です。
=begin
(some code here)
=end
そして
# This code
# on multiple lines
# is commented out
どちらも正しいです。最初のタイプのコメントの利点は編集可能性です。削除される文字が少なくなるため、コメントを解除するのが簡単になります。 2番目のタイプのコメントの利点は読みやすさです。コードを1行ずつ読み取るので、特定の行がコメントアウトされていることがわかりやすくなります。あなたの電話ですが、誰があなたの後に来ているのか、そして彼らが読み、維持するのがどれほど簡単であるかについて考えてください。
これが一例です。
=begin
print "Give me a number:"
number = gets.chomp.to_f
total = number * 10
puts "The total value is : #{total}"
=end
=begin
と=end
の間に入れたものはすべて、その間に何行のコードが含まれていてもコメントとして扱われます。
注: =
とbegin
の間にスペースがないことを確認してください。
=begin
= begin
=begin comment line 1 comment line 2 =end
make sure = beginと= endがその行の最初のものです(スペースなし)。
Ruby on RailsでHTMLテンプレート内の複数の行をコメント化する方法を探している人がいる場合、= begin = endに問題がある可能性があります。例えば、
<%
=begin
%>
... multiple HTML lines to comment out
<%= image_tag("image.jpg") %>
<%
=end
%>
%>がimage_tagを閉じるために失敗します。
この場合、これがコメントアウトしているかどうかは議論の余地があるかもしれませんが、不要な部分は "if false"ブロックで囲むことをお勧めします。
<% if false %>
... multiple HTML lines to comment out
<%= image_tag("image.jpg") %>
<% end %>
これはうまくいくでしょう。