【问题标题】:When creating an R package how do I include warnings that display upon installation? Is there a convenient roxygen2 tag?创建 R 包时,如何包含安装时显示的警告?有方便的 roxygen2 标签吗?
【发布时间】:2020-02-25 16:40:03
【问题描述】:

我正在打包我公司经常使用的一些功能。我想在安装/更新时显示的包中包含警告,通知同事可能对其代码产生下游影响的更改?我可以在包文档中使用 roxgen2 标签吗?

【问题讨论】:

  • 我建议在有此更改的函数中包含warnign(),因为a)只要没有错误,谁会注意安装消息;)和b)它并不总是相同的安装软件包并使用它的人......(编辑:再想一想:这可能真的很烦人......也许不是一个好建议......对不起)或者,我'认为你可以使用@ 987654322@,调用library后应该会显示(自己没用过)

标签: r r-package roxygen2 deprecation-warning


【解决方案1】:

据我所知,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 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    • 2012-08-11
    • 1970-01-01
    • 2020-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多