有可能在R中有多行注释吗?

有可能在R中有多行注释吗?,r,comments,R,Comments,我发现了这一点(一年前),这解释了为什么R不支持多行注释(例如PHP的/*comment*/) 我想知道这一问题在过去一年里是否已经得到解决,或者是否还有其他选择?(例如,在使用npptor的记事本++中,您可以标记一组行,然后按ctrl+q将它们全部标记为注释,其他IDE是否有类似的解决方案?从2.12版开始,R中没有多行注释,并且不太可能更改。在大多数环境中,可以通过高亮显示和切换注释来注释块。在emacs中,这是“M-x;” Eclipse+StatET和Rstudio中的CTRL+SHI

我发现了这一点(一年前),这解释了为什么R不支持多行注释(例如PHP的/*comment*/)


我想知道这一问题在过去一年里是否已经得到解决,或者是否还有其他选择?(例如,在使用npptor的记事本++中,您可以标记一组行,然后按ctrl+q将它们全部标记为注释,其他IDE是否有类似的解决方案?

从2.12版开始,R中没有多行注释,并且不太可能更改。在大多数环境中,可以通过高亮显示和切换注释来注释块。在emacs中,这是“M-x;”

Eclipse+StatET和Rstudio中的CTRL+SHIFT+C

if(FALSE) {
...
}

阻止执行多行。但是,这些行在语法上仍然必须正确,即不能是正确意义上的注释。不过在某些情况下仍然很有用。

如果需要,可以使用独立字符串进行多行注释-我一直认为这比
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
     ))
}
“此函数接受一个值x,执行并返回
用几句话来解释“

不幸的是,在R中仍然没有多行注释


如果您的文本编辑器支持列模式,则使用它一次添加一组。如果使用UltraEdit,Alt+c将使您处于列模式。

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

exclude <-  function(blah) {
    "excluded block"
}
R Studio(和Eclipse+StatET):突出显示文本,并使用CTRL+SHIFT+C在Windows中注释多行。
或者,OS-X中的command+SHIFT+C。

Hello Estis-关于alt SHIFT-#,它在windows上不起作用。我使用“Esc”,我认为它的工作方式与您描述的类似。感谢所有的建议。在Linux上,插入类似注释的功能可能是由于GNU
readline
库。如果它在R中对您有效,那么它可能会在许多其他应用程序中对您有效,例如
bash
本身。非常好地处理If false块,谢谢!UltraEdit在编辑菜单上还有一个Comment Add命令:Alt+e,nthanks@caracal,如果您想跳过整个代码块,而如果您想再次处理相同的代码块,`#if(FALSE){`和`#},则注释出来非常简单,这非常有用`是否有任何方法可以修改此选项,以便如果将FALSE更改为TRUE,它将在花括号内运行多行代码,而不是仅运行最后一行?在RStudio中,您可以仅使用
#开始您的注释。
并自动对以下行进行注释。也可以使用相同的方法删除多行代码的注释行。此解决方案不解决OP的问题。这只是在每行前面放置多个单行注释(#)。我相信OP正在寻找指定注释开始和结束的内容——类似于SAS中的以下内容:
/*这可以是多行注释,注释整个代码块只需要4个字符*/
,它确实回答了问题。OP问:“我想知道这一问题在过去的一年里是否已经得到解决,或者是否还有其他选择?”。这是另一种选择。是的!多行注释的语言级约束的最简单解决方案是快捷方式!
stuffiwant

exclude({
    stuffidontwant
    morestuffidontwant
})