web-dev-qa-db-ja.com

Rに複数行のコメントを含めることはできますか?

私はこれを見つけました 古いスレッド (1年以上前から)、Rが複数行コメントをサポートしない理由を説明します(たとえば、PHPの/ *コメント* /など)。

過去1年でこれが解決されたのか、それとも他の選択肢があるのか​​疑問に思っています。 (たとえば、npptorを使用したnotepad ++では、一連の行をマークし、ctrl + qを押してすべてコメントとしてマークできます。他のIDEにも同様のソリューションがありますか?)

87
Tal Galili

必要に応じて、複数行のコメントにスタンドアロンの文字列を使用できます。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
     ))
}

主な制限は、コメントアウトするときは引用符に注意する必要があることです。内部に1つの種類がある場合、コメントには他の種類を使用する必要があります。そのブロック内に「「ポストロフィ」を含む文字列」のようなものがある場合、この方法は良い考えではありません。しかし、それでもif (FALSE)ブロックがあります。

両方の方法にあるもう1つの制限は、式が構文的に有効な場所でのみそのようなブロックを使用できることです。たとえば、リストの一部をコメントアウトすることはできません。

どのIDEで何を行うかについて:私はVimユーザーであり、 NERD Commenter は、複数の行をすばやくコメントまたはコメント解除するための非常に優れたツールです。非常に使いやすく、非常によく文書化されています。

最後に、Rプロンプト(少なくともLinuxの場合)には、 Alt-Shift-# 現在の行をコメントします。ワンライナーで作業していて、最初に準備ステップが必要であることに気付いた場合、ラインを「保留」にすることは非常に素晴らしいことです。

51
Esteis

R Studio(およびEclipse + StatET):テキストを強調表示して使用 CTRL+SHIFT+C Windowsで複数の行をコメントするには。または、 command+SHIFT+C OS-Xで。

108
SoilSciGuy

CTRL+SHIFT+C Eclipse + StatETおよびRstudioで。

27
Roman Luštrik

バージョン2.12の時点でRには複数行のコメントはなく、変更される可能性は低いです。ほとんどの環境では、強調表示してコメントを切り替えてブロックにコメントを付けることができます。 emacsでは、これは「M-x;」です。

11
jimmyb
if(FALSE) {
...
}

複数の行が実行されるのを防ぎます。ただし、これらの行は依然として構文的に正しい必要があります。つまり、適切な意味でコメントにすることはできません。ただし、場合によってはまだ役立ちます。

11
caracal

残念ながら、Rにはまだ複数行のコメントはありません。

テキストエディタが列モードをサポートしている場合、それを使用して#の束を一度に追加します。 UltraEditを使用する場合、 Alt+c 列モードになります。

5
Banjer

以下を~/.Rprofileファイルに入れます:

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

これで、次のようにブロックを除外できます。

stuffiwant

exclude({
    stuffidontwant
    morestuffidontwant
})
4
Hugh Perkins