在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下),有可爱的Alt – Shift – #来注释当前行。 如果你正在做一个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 })