R中是否可以有多行注释?

时间:2010-11-09 07:25:23

标签: r comments

我发现了这个old thread(从一年多前开始),它解释了R如何不支持多行注释(例如PHP的/ * comment * /)。

我想知道过去一年是否已经解决了这个问题,还是有其他选择? (例如,在带有npptor的notepad ++中,你可以标记一堆行并按ctrl + q将它们全部标记为注释,是否有其他IDE的类似解决方案?)

7 个答案:

答案 0 :(得分:101)

R Studio(和Eclipse + StatET):突出显示文本并使用 CTRL + SHIFT + C 在Windows中注释多行。 或者,OS-X中的命令 + SHIFT + C

答案 1 :(得分:49)

如果您愿意,您可以使用独立字符串进行多行注释 - 我一直认为它比if (FALSE) { }块更漂亮。字符串将被评估然后被丢弃,因此只要它不是函数中的最后一行就不会发生任何事情。

"This function takes a value x, and does things and returns things that
 take several lines to explain"
doEverythingOften <- function(x) {
     # Non! Comment it out! We'll just do it once for now.
     "if (x %in% 1:9) {
          doTenEverythings()
     }"
     doEverythingOnce()
     ...
     return(list(
         everythingDone = TRUE, 
         howOftenDone = 1
     ))
}

主要的限制是,当你评论出来时,你必须注意你的引号:如果你有一种内容,你将不得不使用另一种评论;如果你在那个区块里面有“带有'postrophes的字符串'之类的东西,那么这种方法绝对不是一个好主意。但那时仍有if (FALSE)块。

另一个限制,两个方法都有,就是你只能在表达式在语法上有效的地方使用这些块 - 比如说没有注释掉列表的部分。

关于在哪个IDE中做什么:我是Vim用户,我找到了 NERD Commenter一个非常出色的工具,可以快速评论或取消注释多行。非常人性化,记录完备。

最后,在R提示符下(至少在Linux下),有可爱的 Alt - Shift - 来评论当前行。如果您正在进行单线工作,然后意识到您需要先准备一个步骤,那就非常好了“保持”一条线。

答案 2 :(得分:22)

Eclipse + StatET和Rstudio中的

CTRL + SHIFT + C

答案 3 :(得分:11)

版本2.12中的R中没有多行注释,并且不太可能发生变化。在大多数环境中,您可以通过突出显示和切换注释来注释块。在emacs中,这是'M-x;'。

答案 4 :(得分:11)

if(FALSE) {
...
}

排除多行执行。但是,这些行仍然必须在语法上正确,即,不能在适当的意义上进行评论。但对某些情况仍有帮助。

答案 5 :(得分:5)

不幸的是,R中仍然没有多行评论。

如果文本编辑器支持列模式,则使用它一次添加一堆#s。如果您使用UltraEdit, Alt + c 将使您进入列模式。

答案 6 :(得分:4)

将以下内容放入~/.Rprofile文件中:

exclude <-  function(blah) {
    "excluded block"
}

现在,您可以排除以下块:

stuffiwant

exclude({
    stuffidontwant
    morestuffidontwant
})