web-dev-qa-db-ja.com

Rubyで複数行コメント

Rubyで複数行をコメントするにはどうすればいいですか?

693
Mohit Jain
#!/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.
  • これは、(スクリーンショットを介して)それがどのように見えるかです - そうでなければ、上記のコメントがどのように見えるかを解釈するのは難しいです。 クリックして拡大

Comments in a text-editor

1271
=begin
My 
multiline
comment
here
=end
119
Adam Lear

=begin=endが存在するにもかかわらず、コメントを書くための通常の、そしてより正しい方法は、各行に#を使うことです。 Rubyライブラリのソースを読むと、ほとんどすべての場合にこれが複数行コメントが行われる方法であることがわかります。

53
Rein Henrichs
#!/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!"
19
miku

どちらかを使う:

 = begin 
この
は、
コメント、
ブロック、
 =終了
です。

または

#この[
]#は[
]#a [
]#コメント[
]#ブロック[
]

現在rdocでサポートされているのはこの2つだけですが、これだけを使用するのは良い理由です。

14
the Tin Man
=begin
(some code here)
=end

そして

# This code
# on multiple lines
# is commented out

どちらも正しいです。最初のタイプのコメントの利点は編集可能性です。削除される文字が少なくなるため、コメントを解除するのが簡単になります。 2番目のタイプのコメントの利点は読みやすさです。コードを1行ずつ読み取るので、特定の行がコメントアウトされていることがわかりやすくなります。あなたの電話ですが、誰があなたの後に来ているのか、そして彼らが読み、維持するのがどれほど簡単であるかについて考えてください。

13
La-comadreja

これが一例です。

=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
12
Prabhakar

=begin comment line 1 comment line 2 =end make sure = beginと= endがその行の最初のものです(スペースなし)。

3
anandharshan

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 %>

これはうまくいくでしょう。

2
user2553863