我发现了这个旧帖子(一年前的),它解释了为什么R不支持多行注释(比如PHP中的/* comment */)。
我想知道过去一年里是否已经解决了这个问题,或者是否有其他替代方案? (例如,在notepad++和npptor中,您可以标记一堆行并按ctrl+q将它们全部标记为注释,其他IDE是否有类似的解决方案?)
R Studio(以及Eclipse + StatET):
在Windows上,选中文本并使用CTRL+SHIFT+C来注释多行。
对于macOS,请使用command+SHIFT+C。
/*这可以是多行注释,只需要4个字符即可注释整个代码块*/
- StatsStudent如果你想的话,可以使用独立的字符串来表示多行注释——我一直认为这比 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
))
}
主要限制在于当你注释内容时,你必须注意引号:如果你在内部有一种引号,你必须使用另一种引号进行注释;如果你的代码块中包含“带有'后撤符”的字符串,则这种方法不是一个好主意。但是仍然有if (FALSE)
代码块。readline
库提供的。如果它在R中可用,那么它很可能也适用于许多其他应用程序,比如bash
本身。 - Aaron McDaidif(FALSE) {
...
}
避免多行代码被执行。然而,这些行仍然必须在语法上正确,即不能是传统意义上的注释。但在某些情况下仍然有用。
# if(FALSE){
和#}
。 - Gabriel123自R版本2.12起,不支持多行注释,并且不太可能改变。在大多数环境中,您可以通过高亮显示并切换注释来注释代码块。在emacs中,使用'M-x ;'。
~/.Rprofile
文件中:exclude <- function(blah) {
"excluded block"
}
stuffiwant
exclude({
stuffidontwant
morestuffidontwant
})
不幸的是,R语言仍然没有多行注释功能。
如果你的文本编辑器支持列模式,可以使用该模式一次添加许多#符号。如果你使用UltraEdit,按下Alt+c即可进入列模式。
#'
开头撰写注释,接下来的行就会被自动注释。 - José Vallejo