gpt4 book ai didi

带有仅运行一次的代码的 R 包(每次安装)

转载 作者:行者123 更新时间:2023-12-04 11:03:15 25 4
gpt4 key购买 nike

我想创建一个 R 包,它在安装时会显示维护者的联系信息,并请求用户允许将它们计入我们的安装列表。让代码在用户第一次调用我们的函数时运行也是可以接受的,而不是在安装时立即运行。无论哪种方式,此消息都应该只出现一次(除非用户重新安装/更新包)。

我的考虑:

  • 我知道如何包含供内部使用的数据集,但我不知道如何永久更改该数据。
  • 我们可以设置环境变量/应用程序设置,但我不知道是否有办法在 session 结束后使其保持不变。
  • 使用外部服务/服务器会过于繁重,并且不允许不想被跟踪的用户关闭消息。

有什么好办法吗?

最佳答案

这可以运行不止一次,但只能在有限的时间窗口内运行,所以也许它已经足够好了。

将此代码添加到您的包中,它会在安装后 7 天内每次加载包时发出消息,此后在更新包之前不会再次发出消息。

它通过将安装文件的创建时间与当前时间进行比较来工作。它不需要任何目录的写权限,只需要读取,所以它应该可以正常工作。

.onLoad <- function(libname, pkgname) {
ctime <- file.info(find.package(pkgname, libname))$ctime
if (difftime(Sys.time(), ctime, unit = "day") < 7)
packageStartupMessage("This msg will go away one week after installing this package")
}

关于带有仅运行一次的代码的 R 包(每次安装),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40748744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com