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

我发现这个老的线程 (从一年前),这解释了R如何不支持多行注释(例如PHP的/ *注释* /)。

我想知道这是否在过去一年得到解决,还是有其他的select? (例如,在记事本++与npptor中,你可以标记一堆线,然后按Ctrl + q将它们全部标记为注释,对于其他IDE是否有类似的解决scheme?)

如果你愿意的话,你可以使用独立的string进行多行注释 – 我一直认为比if (FALSE) { }块更漂亮。 该string将被评估,然后被丢弃,所以只要不是函数的最后一行,什么都不会发生。

 "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“的string,那么这个方法不是一个好主意。 但是,仍然有if (FALSE)块。

两种方法都有的另一个限制是,你只能在expression式在句法上有效的地方使用这样的块 – 没有注释掉列表的部分。

关于在哪些IDE中:我是一个Vim用户,我发现NERD Commenter是一个非常好的工具,用于快速评论或取消注释多行。 非常用户友好,非常有据可查。

最后,在R提示符下(至less在Linux下),有可爱的AltShift来注释当前行。 如果你正在做一个class轮,然后意识到你需要先做一个准备步骤,那么把一条线路搁置一下非常好。

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

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

R从2.12版本开始没有多行注释,不太可能改变。 在大多数环境中,您可以通过突出显示和切换注释来评论块。 在emacs中,这是'Mx;'。

 if(FALSE) { ... } 

排除了多行执行。 但是,这些行仍然必须在语法上是正确的,也就是说,不能以正确的意义进行评论。 尽pipe如此,仍然有助于某些情况

不幸的是,R还没有多线评论。

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

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

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

现在,你可以像下面这样排除块:

 stuffiwant exclude({ stuffidontwant morestuffidontwant })