回答:
#!/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
/ よりもコメントされた行を視覚的に分離するため、=end
またはhere-toメソッドを使用するためです。そして、いい仕事。
=begin
と=end
空白が先行することはできません。
=begin...=end
使用するの#
は最初と最後のブロックのみであることに注意してください。
=begin
My
multiline
comment
here
=end
#
各行の前にスペースを入力しますか?特に改行を追加し始めると、多くのキーストロークになります。
=begin
およびの存在にもかかわらず、=end
コメントを付ける通常のより正しい方法は#
、各行でを使用することです。Rubyライブラリのソースを読むと、ほとんどの場合、これが複数行コメントの作成方法であることがわかります。
#
わかりやすいので使用することを好みます。コードをコメントアウトするとき、それが起こったことを明確にすることが重要です。エディターでコードの色分けの利点なしにコードを表示している場合、を使用=begin/=end
すると、コードが無視されている理由を理解するのが難しくなる可能性があります。
#
コメントを使用する必要があります。(なぜこれが2つの反対票を投じたのか私は不思議に思います。StackOverflowコミュニティは時々それを誤解する必要があると思います!)
3 == three
どこdef three; 1 + 1 + 1 end
。したがって、両方が有効です。誰も気にしない?使用してください3
!
vi
サーバーで使用しているときだけです。どちらにしても、おそらくそこで開発を行うべきではありません。
#!/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!*/
1行のコメントと複数行のコメント内のコードがある場合、たとえば、ドキュメントに関数を使用させたくないが、ファイルから削除したくない場合は、理にかなっています。
=begin
(some code here)
=end
そして
# This code
# on multiple lines
# is commented out
どちらも正しいです。最初のタイプのコメントの利点は編集可能性です。削除される文字が少ないため、コメントを外しやすくなります。2番目のタイプのコメントの利点は、読みやすさです。コードを1行ずつ読み取ると、特定の行がコメント化されていることを簡単に確認できます。あなたの電話ですが、あなたの後に来るのは誰か、そして彼らが読んで維持するのがどれほど簡単かについて考えてください。
=begin
あり、=end
その間にあるものがコメントであることを視覚的に伝えない...たとえば、Clojureは、(comment :whatever)
リードでそれが何を意味するかを言うものを使用します:stackoverflow.com/questions/1191628/block-comments-in-clojure
次に例を示します。
=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
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 %>
これは機能します。
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
投稿の時点では、stackoverflowエンジンは構文の色付けを正しくレンダリングしないことに注意してください。選択したエディタでどのようにレンダリングされるかをテストすることは、演習として行います。;)
.pp
マニフェスト(Rubyのような構文に基づく)で複数行コメントを探している人がこれに該当する場合は、cスタイルのブロックコメントを使用できます/**/