質問

私は(ある種の)すでにこの質問に対する答えを知っています。しかし、私はそれがRユーザーリストで頻繁に尋ねられるものであり、1つのしっかりした良い答えがあるはずだと考えました。 私の知る限り、Rには複数行コメント機能はありません。だから、誰かが良い回避策を持っていますか?

Rでのかなりの作業は通常、インタラクティブセッション(複数行のコメントの必要性に疑問を投げかけます)を伴いますが、同僚やクラスメートにスクリプトを送信しなければならないことがあります。コード。そして、他の言語から来ている人々にとって、それはかなり自然な質問です。

過去に引用符を使用しました。文字列は改行をサポートしているため、次のコマンドでRスクリプトを実行します

"
Here's my multiline comment.

"
a <- 10
rocknroll.lm <- lm(blah blah blah)
 ...

正常に動作します。誰もがより良い解決策を持っていますか?

役に立ちましたか?

解決

これはメーリングリストにかなり定期的に掲載されています。を参照してくださいr-helpの最近のスレッド。コンセンサスの回答は通常上記のとおりです。言語が直接サポートされていないことを考えると、次のいずれかを行う必要があります

  • リージョンからコメントへのコマンドを持つエディターを使用します。ほとんどの高度なRエディターは
  • 前述の if(FALSE)構文を使用しますが、完全な解析が必要であり、構文的に正しい必要があることに注意してください

他のヒント

RStudio でこれを簡単に行うことができます。

コードを選択し、 CTR + SHIFT + C をクリックします コードのコメント/コメント解除。

私が発見したRStudioの巧妙なトリックは、# 'を使用することです。これにより、自己拡張コメントセクションが作成されます(そのような行から新しい行に戻るか、新しい行をそのようなセクションは自動的にコメントされます)。

[更新]コメントに基づく。

# An empty function for Comments
Comment <- function(`@Comments`) {invisible()}

#### Comments ####
Comment( `

  # Put anything in here except back-ticks.

  api_idea <- function() {
    return TRUE
  }

  # Just to show api_idea isn't really there...
  print( api_idea )

`)
####

#### Code. ####
foo <- function() {
  print( "The above did not evaluate!")
}
foo()

[オリジナルの回答]

別の方法です...下部の写真をご覧ください。コードブロックを切り取ってRStudioに貼り付けます。

IDEの使用をより効果的にする複数行コメントは、「良いこと」です。ほとんどのIDEまたは単純なエディターは、単純なコメントアウトブロック内のテキストを強調表示しません。ただし、here-string内の解析を確実にするために時間を費やした著者もいます。 Rでは、複数行のコメントやヒア文字列はありませんが、RStudioで非表示の式を使用すると、すべての利点が得られます。

複数行コメント、here-strings、または実行されていないコメントブロックに使用することが望ましいセクションにバックティックがない限り、これは価値のあることかもしれません。

#### Intro Notes & Comments ####
invisible( expression( `
{ <= put the brace here to reset the auto indenting...

  Base <- function()
  {      <^~~~~~~~~~~~~~~~ Use the function as a header and nesting marker for the comments
         that show up in the jump-menu.
         --->8---
  }

  External <- function()
  {
    If we used a function similar to:
      api_idea <- function() {

        some_api_example <- function( nested ) {
          stopifnot( some required check here )
        }

        print("Cut and paste this into RStudio to see the code-chunk quick-jump structure.")
        return converted object
      }

    #### Code. ####
    ^~~~~~~~~~~~~~~~~~~~~~~~~~ <= Notice that this comment section isnt in the jump menu!
                                  Putting an apostrophe in isn't causes RStudio to parse as text
                                  and needs to be matched prior to nested structure working again.
    api_idea2 <- function() {

    } # That isn't in the jump-menu, but the one below is...

    api_idea3 <- function() {

    }

  }

    # Just to show api_idea isn't really there...
    print( api_idea )
    }`) )
####

#### Code. ####
foo <- function() {
  print( "The above did not evaluate and cause an error!")
}

foo()

## [1] "The above did not evaluate and cause an error!"

写真は...

構造化されたコメント

2つのオプションが考えられます。最初のオプションは、コメントとコメント解除をブロックできるエディターを使用することです(例:Eclipse)。 2番目のオプションは、ifステートメントを使用することです。しかし、それは正しいR構文を「コメント」することしかできません。したがって、適切なエディターが回避策として推奨されます。

if(FALSE){
     #everything in this case is not executed

}

どの言語でもこれに対応できないことが信じられない場合。

これはおそらく最もクリーンな回避策です:

anything="
first comment line
second comment line
"

RStudioをインストールするだけで過剰な方法で複数行コードをコメントする以外に、 Notepad ++ は、Rの構文強調表示をサポートしているため

(複数行を選択)-&gt;編集-&gt;コメント/コメント解除-&gt;ブロックコメントの切り替え

最初にコードを.Rソースとして保存する必要があることに注意してください(赤で強調表示)

最初にコードを.Rソースとして保存する必要があることに注意してください(赤で強調表示)

vimを使用してRスクリプトを編集します。

Rスクリプトがtest.Rであるとします。これには、「Line 1」、「Line 2」、「Line 3」などが含まれます。 3行に分けます。

「vim test.R」と入力して、Vimのコマンドラインでtest.Rを開きます。 次に、コメントアウトする最初の行に移動し、「Control-V」と入力し、コメントアウトする最後の行まで下矢印を押して、大文字の「I」を入力します。挿入する場合は、&quot;#&quot;と入力し、エスケープキーを押して&quot;#&quot;を追加します下矢印で選択したすべての行に。ファイルをVimに保存し、「quot;:wq」と入力してVimを終了します。変更がRstudioに表示されるはずです。

Vimでコメントを削除するには、文字&quot;#&quot;の最初の行から始めます。削除したい場合は、もう一度「Control-V」を実行し、「#」を削除する最後の行に矢印を押します。から。次に、「dd」と入力します。 &#;#&quot;サインを削除する必要があります。

Vimのtest.Rへの変更がRstudioに反映されるまでに数秒の遅延時間があります。

RStudio でこれを行う簡単な方法は、コメントを書き、CTRL + Shift + Cでコード行をコメント化してから、CTRL + SHIFT + /を使用して、コメントを読みやすくするために複数行にリフローします。

Pythonでは、コメントの前後に単一引用符を3つ付けて複数行のコメントを作成します。私はこれをRで試しましたが、うまくいくようです。

例:

'''
This is a comment
This is a second comment
'''
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top