我发现了这个old thread(从一年多前开始),它解释了R如何不支持多行注释(例如PHP的/ * comment * /)。
我想知道过去一年是否已经解决了这个问题,还是有其他选择? (例如,在带有npptor的notepad ++中,你可以标记一堆行并按ctrl + q将它们全部标记为注释,是否有其他IDE的类似解决方案?)
答案 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)
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
})