簡體   English   中英

創建 R 包時,如何包含安裝時顯示的警告? 有方便的roxygen2標簽嗎?

[英]When creating an R package how do I include warnings that display upon installation? Is there a convenient roxygen2 tag?

我正在定期打包我公司使用的一些功能。 我想在安裝/更新時顯示的包中包含警告,通知同事可能對其代碼產生下游影響的更改? 我可以在包文檔中使用 roxgen2 標簽嗎?

據我所知, package:roxygen2沒有這樣的標簽。

但是您可以直接編輯函數。 這是RPushBullet所做的(在解析配置文件的上下文中)。

.onLoad <- function(libname, pkgname) {
    dotfile <- .getDotfile()                                    
    if (file.exists(dotfile)) .parseResourceFile(dotfile)       
}

.onAttach <- function(libname, pkgname) {
    packageStartupMessage("Attaching RPushbullet version ",
                          packageDescription("RPushbullet")$Version, ".")
    dotfile <- .getDotfile()
    if (file.exists(dotfile)) {
        packageStartupMessage("Reading ", dotfile)
        .parseResourceFile(dotfile)
    } else {
        txt <- paste("No file", dotfile, "found. Consider placing the",
                     "Pushbullet API key and your device id(s) there.")
        txt <- paste(strwrap(txt), collapse="\n")
        packageStartupMessage(txt)
        .pkgenv[["pb"]] <- NULL                     
    }
}

所以.onLoad()實際上不允許打印消息,但是.onAttach() 由於以可抑制的方式顯示它們更禮貌,因此不應直接使用cat()warning() ,而應使用packageStartupMessage()

這些通常放置在文件R/init.RR/zzz.R

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM