/* comment */
这样更简单的多行注释功能,这将使它更容易。我目前遵循http://www.perlmonks.org/?node_id=560985 来实现多行注释。是否有计划在Perl中很快包括此功能?
/* comment */
这样更简单的多行注释功能,这将使它更容易。C语言风格的注释存在各种问题,其中之一是无法注释掉注释。此外,方便的单行语法鼓励简洁编写,使您的代码更易于阅读。C和C ++中不时出现的10行“作者:... 输入:... 输出:... 最喜爱的颜色:...”块的缺失是另一个好处。
多行注释鼓励长篇大论的写作,这些可以更简洁地表达或作为文档进行说明,因此这也是Perl用其#
和=pod
运算符(分别)鼓励的。
最后,如果您对Perl的注释风格感到困惑,可以将编辑器配置为编辑程序而不是文本。在Emacs中,如果您开始编写类似于# this is a comment that is getting longer and longer and longer and oh my goodness we are out of space on this line what to do now
的内容,并键入M-q,Emacs将自动插入每行开头的#
。
如果您只想注释掉一段代码块,那么您只需要使用M-x comment-region
和M-x uncomment-region
即可注释掉几乎所有语言(包括Perl)中的区域。
不要为注释的语法烦恼;这是计算机的工作!
vim
也能够自动在注释行的开头插入 #
,并且在使用 gq
重新排版文本时也会这样做。 - Dave Sherohman/* */
比 #
或者 =pod
更加方便。可能是因为它对我来说不够直观,或者只是我的个人选择。 - Ravikiran关于这个问题,perl6-language@perl.org邮件列表上进行了讨论。虽然最终没有得出结论,但这里发布的摘要很有意思。
像任何多行注释结构一样,都有“开”和“关”注释条件,这会导致嵌套注释的问题。
例如,C语言使用/*作为开头,*/作为结尾。多行注释系统如何处理嵌套注释?如果您尝试注释已经被注释的块,则C语言将失败。
请注意,基于行的注释(例如c++ //注释)不会遇到这个问题。
简洁由看的人决定。话虽如此,已经有多种方法可以进行多行注释。首先,使用空字符串字面量:
q{This text won't do anything.
Neither will this.};
这会不幸地触发一个警告:
Useless use of a constant in void context at - line 4.
<<ENDCOMMENT;
Foo comment bar.
ENDCOMMENT
正如你所看到的,问题并不是缺乏语法(实际上,Python文档注释看起来与q{}
方法相似)- 更多的是Perl程序员社区已经采用使用#
和POD进行行注释。在这个时候使用不同的方法只会让那些后来需要阅读你的代码的人感到困惑。
s(/[*]){=for comment\n\n};
->s(/[*]){=用于注释\n\n};
s([*]/){\n\n=cut\n}
->s([*]/){\n\n=cut\n}
- Brad Gilberts/\s*/ /g
这样的代码 :) - bdonlan