如何对在 Ruby 中的多行注释?

2010-06-07 13:11:05
问题评论:

任何人都落在此寻找傀儡.pp清单 (这基于一种类似 Ruby 的语法) 中的多行注释的情况下可以使用 c 样式块注释 /**/

它是代码的而是代码的不幸的在 ruby 中的多行注释的外观非常相似块。然后,给定的授予这个问题 (并接受的答案) 的高点在 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/=end或使用这里的方法。而且,很好的工作。

很有趣,这答案可以使某些缺陷中语法突出显示明显。

别忘了, =begin=end不能跟任何空白。

并且不能使用 = 开始 = 方法中的结束

务必要注意,在上面的示例代码,只有第一个=begin...=end和最后一个块使用#拾取 rdoc 生成文档时。

=begin
My 
multiline
comment
here
=end

当然,您可以执行此操作。它的工作。这是非常少见的。我发现很丑陋。也许我要坚持我的方式?

我发现,如果我包括一个选项卡之前 = 开始或 = 结束时,批注不起作用。= 开始和 = 每个需要编写在每行的开头结尾。

尽管存在=begin =end、 普通和注释更正确的方法是使用#,并在每一行上。如果您阅读任何 ruby 库的源,您将看到这是多行注释是在几乎所有情况下的方法。

得到的可能参数有关的语句"更为准确"部分因为它们两者都有效。我更喜欢使用# ,由于较为明显。注释掉的代码时,一定要使它明显是出了什么问题。如果您正在查看的代码而无需使用=begin/=end编辑器中突出显示的代码的好处可以使其难以找出为什么代码将被忽略。

当然,有许多"有效"的方法写入注释。让我们在实际此处显示。如果您实际写拼音和阅读其他人写的内容,您应该使用#的注释。(我迷惑为什么这有两个 downvotes。我猜堆栈溢出社区不得不弄错有时 !)

3 == three在其中def three; 1 + 1 + 1 end因此两者都是有效的。谁会在意?使用3!

@theTinMan 时为 true,通常会缺乏语法突出显示 (以我的经验) 的唯一时间是在生产服务器上使用vi在这种情况下,您可能不应该进行开发,无论如何。

@DavidJames 您的示例是可笑,因为它是更详细。在每一行上放置一个哈希是更详细更长的意见。如果任何人认为该短语"urandom/开发/使用此处阻止加密声音 PRNG。请勿触摸这段代码-它是魔"是写拼音,我会认为他们混淆,因此更无知对他们比在我清楚我企图。这并不是说您的观点始终是无效的 it 的就只有一个优秀,注释掉的代码时。但是,如果您的意见是只需......注释应弄清楚两种方法。

#!/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!"

因为我没有主意嵌套 + 1 是 Ruby 的多行注释中的一件事情。

-它不是一件事情-@ParthianShot = 开始和结束 = 忽略如果不在行的开头。嵌套似乎不可能的。

嵌套在注释内的注释会导致单个批注或试图结束注释语法错误结束没有注释的位置。/*I am a #nested comment, which really serves no purpose*//*I am bound /*to*/ FAIL!*/它是有意义有单行注释和代码有多行的注释,如函数的文档,您不希望用户使用,但也不想从文件中删除。

=begin
(some code here)
=end

# This code
# on multiple lines
# is commented out

都是正确的。第一种类型的注释的优点是可编辑性 — — 很容易因为较少的字符将被删除,请取消注释。备注的第二种类型的优点是便于阅读,阅读代码行的行,它是更加容易判断某一特定行已被注释掉。您的呼叫但考虑谁将参加之后和他们阅读和维护是多么容易。

IMO, =begin =end直观地传达,中间的是一个注释并且...Clojure,例如,使用(comment :whatever)的潜在顾客说意味着什么︰ stackoverflow.com/questions/1191628/block-comments-in-clojure

两者都不做"/ *"和"* /"Java,C 和 c + +。因为 Ruby 的语法中,大块的代码可被注释掉之间那些两个字符,并且知道的语言基础知识的人知道它们的意思。

内容来源于Stack Overflow Multi-Line Comments in Ruby?
请输入您的翻译

Multi-Line Comments in Ruby?

确认取消