web-dev-qa-db-fra.com

R: mettre en commentaire un bloc de code

Duplicate possible:
R: Solutions de contournement de commentaires multilignes?

Je souhaite commenter plusieurs lignes de code dans R. Existe-t-il un moyen de le faire sans avoir à mettre un # avant chaque ligne - un peu comme /* blocked out code */ dans SAS?

72
user702432

La plupart des éditeurs utilisent une sorte de raccourci pour commenter des blocs de code. Les éditeurs par défaut utilisent quelque chose comme commande ou contrôle et guillemets simples pour commenter les lignes de code sélectionnées. En RStudio c'est Command ou Control+/. Vérifiez dans votre éditeur.

Il continue de commenter ligne par ligne, mais ils décomment également les lignes sélectionnées. Pour le Mac RGUI, c'est l'option de commande '(j'imagine que Windows est une option de contrôle). Pour Rstudio c'est juste Command ou Control + Shift + C encore.

Ces raccourcis changeront probablement avec le temps, à mesure que les éditeurs seront mis à jour et que différents logiciels deviendront les éditeurs R les plus populaires. Vous devrez le rechercher quel que soit le logiciel que vous avez.

64
John

Une sorte de commentaire de bloc utilise une instruction if:

if(FALSE) {
  all your code
}

Cela fonctionne, mais j’utilise presque toujours les options de commentaire de bloc de mes éditeurs (RStudio, Kate, Kwrite).

57
Paul Hiemstra

Enveloppez-le dans une fonction non utilisée:

.f = function() {

## unwanted code here:

}
28
mdsumner

J'utilise RStudio ou Emacs et utilise toujours les raccourcis d'éditeur disponibles pour commenter les régions. Si ce n'est pas une possibilité, vous pouvez utiliser la réponse de Paul, mais cela ne fonctionne que si votre code est syntaxiquement correct.

Voici un autre moyen malpropre que je propose: placez-le dans scan() et supprimez le résultat. Il stocke le commentaire en mémoire pendant un court instant, il ne fonctionnera donc probablement pas avec des commentaires très volumineux. Le mieux est encore de mettre les signes # devant chaque ligne (éventuellement avec des raccourcis d'éditeur).

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)
1
Sacha Epskamp

J'ai traité cette question à talkstats.com dans les articles 94, 101 et 103 trouvés dans le fil de discussion: Partagez votre code . Comme d'autres l'ont dit, Rstudio pourrait être une meilleure solution. Je stocke ces fonctions dans mon .Rprofile et les utilise en fait pour bloquer automatiquement les lignes de code rapidement.

Pas tout à fait aussi bien que vous l'espériez, mais peut être une approche.

0
Tyler Rinker