R: commentaar uit codeblok

Mogelijk duplicaat:
R: Tijdelijke oplossingen voor opmerkingen met meerdere regels?

Ik wil commentaar geven op verschillende regels code in R. Is er een manier om dit te doen zonder een # voor elke regel te plaatsen – een beetje zoals /* blocked out code */in SAS?


Antwoord 1, autoriteit 100%

De meeste redacteuren gebruiken een soort snelkoppeling om blokken code te becommentariëren. De standaardeditors gebruiken iets als commando of controle en enkele aanhalingstekens om geselecteerde coderegels te becommentariëren. In RStudio is dit Commandof Control+/. Check in je editor.

Het is nog steeds regel voor regel commentaar te geven, maar ze verwijderen ook de opmerkingen bij geselecteerde regels. Voor de Mac RGUI is het de opdrachtoptie ‘ (ik stel me voor dat Windows de besturingsoptie is). Voor Rstudio is het gewoon Commandof Control+ Shift+ Cweer.

Deze sneltoetsen zullen in de loop van de tijd waarschijnlijk veranderen naarmate editors worden bijgewerkt en andere software de populairste R-editors wordt. Je zult het moeten opzoeken voor welke software je ook hebt.


Antwoord 2, autoriteit 63%

Een soort blokopmerking gebruikt een if-statement:

if(FALSE) {
  all your code
}

Het werkt, maar ik gebruik bijna altijd de blokreactie-opties van mijn editors (RStudio, Kate, Kwrite).


Antwoord 3, autoriteit 34%

Wikkel het in een ongebruikte functie:

.f = function() {
## unwanted code here:
}

Antwoord 4

Ik gebruik Rstudio of Emacs en gebruik altijd de redacteursnelkoppelingen die beschikbaar zijn voor commentaarregio’s. Als dit geen mogelijkheid is, kunt u het antwoord van Paul gebruiken, maar dit werkt alleen als uw code syntactisch correct is.

Hier is een andere vieze manier waarop ik bedacht, wikkel het in scan()en verwijder het resultaat. Het bewaart de opmerking in het geheugen gedurende een korte tijd, dus het zal waarschijnlijk niet werken met zeer grote opmerkingen. Het beste is nog steeds om gewoon #tekens voor elke regel (mogelijk met redactionele snelkoppelingen) te plaatsen.

foo <- scan(what="character")
These are comments
These are still comments
Can also be code:
x <- 1:10
One line must be blank
rm(foo)

Antwoord 5

Ik heb dit behandeld op Talkstats.com in POSS 94, 101 & AMP; 103 Gevonden in de draad: deel uw code . Zoals anderen hebben gezegd, is Rstudio misschien een betere manier om te gaan. Ik slaat deze functies op in mijn .rprofile en gebruik ze eigenlijk een, maar om automatisch snel de regels van code te blokkeren.

Niet zo mooi als je hoopt, maar misschien een aanpak is.

Other episodes