Frage

I (Art) kennen bereits die Antwort auf diese Frage. Aber ich dachte, es ist eine, die so häufig auf der R Liste Benutzer gefragt wird, dass es sein sollte solide gute Antwort. Nach bestem Wissen und Gewissen gibt es keine mehrzeiligen Kommentar Funktionalität in R. Also, hat jemand eine gute Abhilfen?

Während einiges an Arbeit in R in der Regel beinhaltet interaktive Sitzungen (die Zweifel an der Notwendigkeit für mehrzeilige Kommentare), es gibt Zeiten, wenn ich Skripte zu Kollegen und Kommilitonen senden haben musste, von denen viele nicht-trivialen beinhalten Blöcke Code. Und für Menschen aus anderen Sprachen kommen, ist es eine ziemlich natürliche Frage.

In der Vergangenheit habe ich Anführungszeichen verwendet. Da Strings unterstützen Zeilenumbrüche, einen R-Skript mit

Laufen
"
Here's my multiline comment.

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

funktioniert. Hat jemand eine bessere Lösung?

War es hilfreich?

Lösung

Dies ist auf der Mailingliste kommt ziemlich regelmäßig finden Sie unter zum Beispiel Dieser letzte Thread auf r-Hilfe . Die Konsensus-Antwort in der Regel ist das oben gezeigt: dass da die Sprache keine direkte Unterstützung hat, müssen Sie entweder

  • Arbeit mit einem Editor, der Region-to-Kommentar Befehle hat, und fortschrittlichsten R Editoren tun
  • verwenden die if (FALSE) Konstrukte früher vorgeschlagen, aber beachten Sie, dass es immer noch vollständige Analyse erfordert und muss daher syntaktisch korrekt sein

Andere Tipps

Sie können dies leicht in RStudio :

Sie den Code aus und klicken Sie auf CTR + SHIFT + C Kommentar / uncomment Code.

Ein netter Trick für RStudio ich gerade entdeckt habe, ist #' zu verwenden, da dies einen selbstexpandierenden schafft Kommentarbereich (wenn Sie zurückkommen, um neue Linie von einer solchen Linie oder fügen Sie neue Zeilen in einen solchen Abschnitt automatisch Kommentar wird) .

[Update] Basierend auf Kommentare.

# 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()

[Original Antwort]

Hier ist eine andere Art und Weise ... am unteren Rand das Bild sehen. Ausschneiden und fügen Sie den Code-Block in RStudio.

Mehrzeilige Kommentare, die eine IDE machen mit mehr wirksam sind eine „gute Sache“, die meisten IDEs oder einfache Editoren haben nicht von Text markieren einfach innerhalb -out Blöcke kommentiert; obwohl einige Autoren die Zeit genommen haben, um sicherzustellen, innerhalb hier-Strings parsen. Mit R haben wir keine mehrzeiligen Kommentare oder hier-Strings entweder, aber unter Verwendung von unsichtbaren Ausdrücke in RStudio gibt alles, was Güte.

Solange es keine Backticks in dem Abschnitt gewünscht für eine mehrzeilige Kommentare verwendet werden, hier-Strings oder nicht ausgeführte Kommentarblöcke dann könnte dies etwas lohnt sich.

#### 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!"

Und hier ist das Bild ...

Strukturieren Kommentare

Ich kann von zwei Möglichkeiten denken. Die erste Option ist ein Editor zu verwenden, Kommentar und Kommentar- (z. B. Eclipse) blockieren können. Die zweite Option ist eine if-Anweisung zu verwenden. Aber das wird nur ermöglicht es Ihnen, um die korrekte Syntax R ‚Kommentar‘. Daher ist ein guter Editor ist die bevorzugte Problemumgehung.

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

}

Wenn es unglaublich, dass jede Sprache für diese nicht gerecht würde.

Dies ist wahrscheinlich die sauberste Lösung:

anything="
first comment line
second comment line
"

Neben den overkilled Art und Weise verwenden, mehrzeiligen Codes Kommentar nur durch RStudio installieren, können Sie a href = verwenden < „http://notepad-plus-plus.org/%E2%80%8E“ rel =“ noreferrer "> Notepad ++ , wie es die Syntax-Hervorhebung von R

(Wählen Sie Multi-Linien) -> Bearbeiten -> Kommentar / Kommentar- -> Toggle Baustein Kommentar

Beachten Sie, dass Sie den Code als .R Quelle speichern müssen zuerst (rot markiert)

Beachten Sie, dass Sie benötigen den Code zuerst als .R Quelle speichern (rot markiert)

Ich verwende vim den R-Skript zu bearbeiten.

Lassen Sie uns sagen, dass die R-Skript test.r ist, enthält sagen "Linie 1", "Linie 2" und "Linie 3" auf 3 verschiedenen Linien.

Ich öffne test.r auf der Kommandozeile mit Vim durch Eingabe von „vim test.r“. Dann gehe ich in der 1. Zeile möchte ich kommentieren Sie, geben Sie „Strg-V“, Pfeil nach unten zur letzten Zeile ich kommentieren wollen, geben Sie eine Kapital I „I“ für Einsatz, dh, geben Sie „#“, und dann drücken Sie die Escape-Taste hinzufügen „#“ in jeder Zeile, die ich durch Pfeilmarkierung nach unten ausgewählt. Speichern Sie die Datei in Vim und dann Vim verlassen, indem Sie „: wq“. Änderungen sollten in Rstudio zeigen.

Um die Kommentare in Vim zu löschen, in der ersten Zeile auf das Startzeichen „#“ Sie löschen möchten, wieder tun „Control-V“ und den Pfeil nach unten zur letzten Zeile, die Sie einen „# löschen mögen " von. Geben Sie dann „dd“. Die "#" Zeichen sollten gestrichen werden.

Es gibt Sekunden im Wert von Verzögerungszeit zwischen, wenn Änderungen an test.r in Vim reflektiert werden, in Rstudio.

RStudio eine einfache Möglichkeit, dies zu tun ist, um Ihren Kommentar zu schreiben und wenn Sie verwendet haben, STRG + Shift + C Ihre Zeile Code kommentieren, dann mit STRG + SHIFT + / Sie Reflow Kommentar auf mehrere Zeilen für eine einfache Lesung.

In Python machen Sie einen mehrzeiligen Kommentar mit 3x Apostrophe vor und nach den Kommentaren. Ich habe versucht, dies in R, und es scheint auch zu funktionieren.

Eg.

'''
This is a comment
This is a second comment
'''
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top