Commenta le multilinee in R

Gustavo du Mortier 16 febbraio 2024
  1. Usa scan() per inserire testo arbitrario
  2. Usa una funzione per commentare multilinea in R
Commenta le multilinee in R

Quando si desidera commentare più righe di codice R, il modo convenzionale per farlo sarebbe inserire un carattere # all’inizio di ciascuna delle righe da commentare poiché R non supporta i commenti su più righe.

L’esecuzione di tale attività va bene se il numero di righe di codice da commentare è piccolo. Ma se hai bisogno di commentare un blocco di codice molto lungo, un editor di codice specializzato in grado di aggiungere un carattere # a ogni riga in un blocco selezionato potrebbe essere utile. In RStudio, puoi farlo utilizzando la combinazione di tasti Ctrl+Shift+C in Windows o Command+Shift+C in OSX. La documentazione di RStudio offre ulteriori informazioni sulle scorciatoie da tastiera.

Notepad++ riconosce il codice R e ti consente anche di commentare il codice con la scorciatoia Ctrl+Q o Command+Q. Se usi Emacs, puoi anche usare M-x comment-region. Per annullare l’azione, utilizzare M-x uncomment region.

Usa scan() per inserire testo arbitrario

Puoi anche usare la funzione scan() per inserire qualsiasi testo arbitrario all’interno del tuo codice, dopodiché devi usare rm() per rimuovere il testo dalla memoria. Assicurati che l’ultima riga del codice commentato prima di rm() sia vuota. Poiché scan() carica il testo in una variabile, è necessario mantenere il codice o il testo commentato entro limiti di dimensione ragionevoli.

Di seguito è riportato come utilizzare questo metodo.

comments <- scan(what="character")
Place your comments here
You can place code also:
some_data <- 1:1000
Just leave the last line blank.

rm(comments)

Usa una funzione per commentare multilinea in R

La seguente funzione FormatComment prende il testo dagli appunti e lo formatta con un simbolo # all’inizio di ogni riga. Quindi, se stai usando un editor di testo incapace di commentare automaticamente blocchi di codice, puoi ottenere lo stesso risultato copiando il codice negli appunti e chiamando la funzione FormatComment dalla console per ottenere una versione commentata di esso. Quindi, puoi sostituire il blocco di codice originale con quello commentato.

FormatComment<-function() {
    y <- as.list(readClipboard())
    spacer <- function(x) paste("#", paste("   ", collapse=""), x, sep="")
    z <- sapply(y, spacer)
    zz <- as.matrix(as.data.frame(z))
    dimnames(zz) <- list(c(rep("", nrow(zz))), c(""))
    writeClipboard(noquote(zz), format = 1)
    return(noquote(zz))
}

Per provarlo, copia il testo che desideri includere come commento e chiama la funzione FormatComment. Ad esempio, se intendi convertire questo testo in un commento.

This is some text
I want to insert
as a comment
in the middle of
my R script.

Basta selezionare l’intero blocco e copiarlo negli appunti. Quindi chiama la funzione FormatComment in questo modo:

FormatComment()

E otterrai il seguente Output:

#   This is some text
#   I want to insert 
#   as a comment     
#   in the middle of 
#   my R script.