在 R 中註釋掉多行
當你想註釋多行 R 程式碼時,傳統的方法是在你需要註釋的每一行的開頭放置一個 #
字元,因為 R 不支援多行註釋。
如果需要註釋的程式碼行數不多,執行這個任務是可以的。但是,如果你需要註釋一個很長的程式碼塊,一個能夠在所選程式碼塊中的每一行新增 #
字元的專門程式碼編輯器可能會很有用。在 RStudio 中,你可以通過在 Windows 中使用Ctrl+Shift+C組合鍵,或者在 OSX 中使用Command+Shift+C來實現。RStudio 文件提供了更多關於鍵盤快捷鍵的資訊。
Notepad++ 可以識別 R 程式碼,還允許你使用Ctrl+Q或Command+Q快捷鍵來註釋程式碼。如果你使用 Emacs,也可以使用 M-x comment-region
。要恢復操作,使用 M-x 取消註釋區域
。
使用 scan()
插入任意文字
你也可以使用 scan()
函式在你的程式碼中插入任何任意文字,之後你需要使用 rm()
從記憶體中刪除文字。但是要確保 rm()
之前的註釋程式碼的最後一行必須是空白。由於 scan()
將文字載入到一個變數中,所以必須將註釋的程式碼或文字保持在合理的大小範圍內。
下面是如何使用這個方法。
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)
在 R 中使用函式來註釋多行
下面的 FormatComment
函式從剪貼簿中提取文字,並在每行開頭用 #
符號進行格式化。因此,如果你使用的文字編輯器不能自動註釋程式碼塊,你可以通過將程式碼複製到剪貼簿,並從控制檯呼叫 FormatComment
函式來獲得同樣的結果,以獲得一個註釋的版本。然後,你可以用註釋的程式碼塊替換原來的程式碼塊。
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))
}
要嘗試使用它,只需複製任何你想包含的文字作為註釋,然後呼叫 FormatComment
函式。例如,如果你要把這段文字轉換成註釋。
This is some text
I want to insert
as a comment
in the middle of
my R script.
只需選擇整個塊並複製到剪貼簿。然後像這樣呼叫 FormatComment
函式。
FormatComment()
然後你會得到以下輸出。
# This is some text
# I want to insert
# as a comment
# in the middle of
# my R script.