我找到了这个旧线程(来自一年多以前),它解释了R如何不支持多行注释(例如PHP的/*comment*/).
我想知道过去一年是否已经解决了这个问题,还是有其他选择?(例如,在带有npptor的notepad ++中,你可以标记一堆行并按ctrl + q将它们全部标记为注释,是否有其他IDE的类似解决方案?)
Soi*_*Guy 114
R Studio(和Eclipse + StatET):突出显示文本并使用CTRL+ SHIFT+ C在Windows中注释多行.或者,OS-X中的command+ SHIFT+ C.
Est*_*eis 53
如果需要,您可以使用独立字符串进行多行注释 - 我一直认为它比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
))
}
Run Code Online (Sandbox Code Playgroud)
主要的限制是,当你评论出来时,你必须看你的引号:如果你有一种内部,你将不得不使用另一种评论; 如果你在那个区块里面有"带有'postrophes的字符串'之类的东西,那么这种方法绝对不是一个好主意.但那时仍然存在if (FALSE)障碍.
另一个限制,两个方法都有,就是你只能在表达式在语法上有效的地方使用这些块 - 比如说没有注释掉部分列表.
关于在哪个IDE中做什么:我是Vim用户,我发现 NERD Commenter是一个非常出色的工具,可以快速评论或取消注释多行.非常人性化,记录完备.
最后,在(至少在Linux下)将R提示,有可爱的Alt- Shift- #评论当前行.如果您正在使用单线工作然后意识到您需要先准备一个步骤,那么将线路"搁置"非常好.
car*_*cal 11
if(FALSE) {
...
}
Run Code Online (Sandbox Code Playgroud)
排除多行执行.但是,这些行仍然必须在语法上正确,即,不能正确意义上的评论.但对某些情况仍然有用.
将以下内容放入您的~/.Rprofile文件中:
exclude <- function(blah) {
"excluded block"
}
Run Code Online (Sandbox Code Playgroud)
现在,您可以排除如下块:
stuffiwant
exclude({
stuffidontwant
morestuffidontwant
})
Run Code Online (Sandbox Code Playgroud)