代码之家  ›  专栏  ›  技术社区  ›  Tal Galili

在R中可以有多行注释吗?[副本]

  •  81
  • Tal Galili  · 技术社区  · 14 年前

    old thread (一年多以前),这解释了为什么R不支持多行注释(例如PHP的/*comment*/)。

    我想知道这是在过去的一年里解决的,还是有其他的选择?(例如,在带有npptor的notepad++中,您可以标记一堆行并按ctrl+q将它们标记为注释,是否有其他IDE的类似解决方案?)

    7 回复  |  直到 14 年前
        1
  •  55
  •   Esteis    9 年前

    如果你愿意的话,你可以使用独立的字符串来进行多行注释-我一直认为这比 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) 封锁。

    关于在哪个IDE中做什么:我是Vim用户,我发现 NERD Commenter 用于快速注释或取消注释多行的非常好的工具。非常人性化,有很好的文档记录。

    中高音 - - # 注释当前行。很高兴把一行'暂停',如果你在一行工作,然后意识到你需要一个准备步骤首先。

        2
  •  117
  •   derelict    7 年前

    控制 + + 在Windows中注释多行。 或者, + 移位 C类 在OS-X中。

        3
  •  29
  •   Roman LuÅ¡trik    7 年前

    + + C类

        4
  •  11
  •   jimmyb    14 年前

    从2.12版起,R中没有多行注释,不太可能更改。在大多数环境中,可以通过突出显示和切换注释来注释块。在emacs中,这是'M-x;'。

        5
  •  11
  •   caracal    14 年前
    if(FALSE) {
    ...
    }
    

    阻止执行多行。然而,这些行在语法上仍然必须是正确的,即不能是正确意义上的注释。不过,对某些情况还是有帮助的。

        6
  •  5
  •   Banjer    14 年前

    如果您的文本编辑器支持列模式,则使用它一次添加一组。如果使用UltraEdit, 中高音 c类 将使您进入列模式。

        7
  •  4
  •   Hugh Perkins    12 年前

    在你的 ~/.Rprofile 文件:

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

    现在,可以排除如下块:

    stuffiwant
    
    exclude({
        stuffidontwant
        morestuffidontwant
    })