1. ホーム
  2. r

[解決済み] Rで複数行のコメントを持つことは可能ですか?[重複している]。

2022-03-14 07:53:31

質問

<余談
この質問には、すでにここで回答があります :
クローズド 8年前 .

こんなの見つけた 旧い糸 (1年以上前の記事)で、なぜRが複数行のコメント(例えばPHPの/*コメント*/のような)をサポートしないのか説明しています。

この1年間で解決されたのか、それとも他の選択肢があるのか、気になるところです。 (例えば、npptorを使ったnotepad++では、たくさんの行をマークしてctrl+qを押すと、それらをすべてコメントとしてマークすることができますが、他のIDEでも同様の解決策がありますか?)

解決方法は?

必要であれば、複数行のコメント用に独立した文字列を使用することもできます。 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つの種類の引用符が内部にあれば、コメントにはもう1つの種類を使わなければなりません。しかし、そうなると、やはり if (FALSE) ブロックを作成します。

もうひとつの制限は、どちらの方法にも共通することですが、このようなブロックは、式が構文的に有効な場所にしか使えないということです(例えば、リストの一部をコメントアウトすることはできません)。

どのIDEで何をするかについてですが、私はVimユーザーです。 NERDコメンター は、複数行のコメントやアンコメントを素早く行うための全く優れたツールです。非常にユーザーフレンドリーで、ドキュメントも充実しています。

最後に、Rプロンプトでは(少なくともLinuxでは)、素敵な Alt - シフト - # は、現在の行をコメントするためのものです。一行書きをしていて、その前に前準備が必要だと気づいたときに、その行を「保留」にするのに非常に便利です。