HOWTO · R
Comente as multilinhas em R
Neste artigo, você aprenderá como comentar multilinhas em R sem ter que escrever manualmente um caractere # no início de cada uma das linhas para comentar.
Nesta página
R não tem sintaxe para comentários de várias linhas: # inicia um comentário que vai até o fim da linha. Para desativar temporariamente várias linhas, coloque # no início de cada uma. Para reativar o código, remova esses prefixos. Os editores podem fazer isso por você em um trecho selecionado.
Execute este exemplo:
O código e os rótulos ou saídas exibidos nesta seção permanecem em inglês.
# This line is a comment.
total <- 2 + 3
print(total)
[1] 5
A primeira linha é ignorada como código R; a atribuição e a chamada a print() continuam executáveis. A execução fornecida foi concluída com sucesso e exibiu [1] 5.
Como funcionam os comentários em R
O marcador de comentário se aplica apenas ao restante da linha atual. Por exemplo, em answer <- 42 # keep this value, R avalia a atribuição e ignora o texto após #. Uma linha iniciada por # também pode documentar o código sem alterar o comportamento do script. Como cada comentário termina em uma quebra de linha, um conjunto de linhas comentadas continua sendo formado por comentários independentes de uma linha, e não por um comentário em bloco.
Ao comentar código, coloque o prefixo em todas as linhas selecionadas, inclusive nas linhas de continuação. Se uma única linha executável ficar sem comentário, R ainda a executará quando o script for carregado com source(). Para remover os comentários, faça o inverso: remova o prefixo de cada linha que quiser executar novamente.
Comente um bloco de código em um editor
No RStudio, selecione as linhas e use Ctrl+Shift+C no Windows ou Command+Shift+C no macOS. O mesmo comando alterna os comentários no trecho selecionado, então confira o resultado antes de executar o código. Consulte os atalhos de teclado do RStudio para ver detalhes do editor.
No Notepad++ para Windows, Ctrl+Q alterna o comentário das linhas selecionadas. No Emacs, execute M-x comment-region; para desfazer, execute M-x uncomment-region. Os atalhos variam conforme o editor, o sistema operacional, o mapa de teclas e a seleção. Se um atalho não funcionar, consulte a lista de comandos do próprio editor. Esses comandos adicionam ou removem prefixos de linha; eles não criam uma nova sintaxe de comentário em R.
Por que scan() não cria um comentário de várias linhas
scan() lê valores de uma conexão ou de uma entrada e os retorna a R. A função não insere texto no arquivo-fonte nem transforma linhas digitadas em comentários. Da mesma forma, rm() remove um objeto R do espaço de trabalho; não apaga texto do código-fonte. Digitar texto arbitrário no console do R não é uma forma válida de comentar um script, pois R tenta interpretar cada linha enviada como entrada. Em vez disso, use o comando de comentário do editor ou adicione # a cada linha do código-fonte.
Transforme texto da área de transferência em comentários # com um helper de R
Se o editor não tiver um comando prático para comentar uma seleção, este helper opcional FormatComment adiciona # e espaços no início das linhas copiadas. As chamadas readClipboard() e writeClipboard() são específicas do Windows. Defina a função em uma sessão de R no Windows, copie texto simples ou código e, em seguida, chame-a. Confira o resultado antes de substituir qualquer trecho de um script. O helper grava o texto formatado de volta na área de transferência; se precisar preservar o conteúdo original, cole o resultado primeiro em um local seguro.
O código e os rótulos ou saídas exibidos nesta seção permanecem em inglês.
FormatComment <- function() {
lines <- readClipboard()
commented <- paste0("# ", lines)
writeClipboard(commented, format = 1)
invisible(commented)
}
O caso fornecido do helper foi concluído com sucesso e não relatou saída. Esse resultado não comprova o comportamento com uma área de transferência real do Windows nem em uma sessão interativa. O helper se destina a linhas de texto copiadas; inspecione o conteúdo colado, especialmente se o código tiver recuo ou sintaxe de continuação. Para a edição rotineira de código, o comando de alternância de comentários do editor costuma ser mais fácil de desfazer e tem menos chance de alterar a formatação.