使用.onAttach附加软件包时存储变量

托马斯·格里夫(Tomas Greif)

加载包时,我想在包的环境中存储变量的值。这是我的当前版本,但my_var在以下library(mypkg)日期之后我看不到/访问

.onAttach <- function(libname = find.package("mypkg"), pkgname = "mypkg") {
  message('on attach is called')
  my_var <- my_func()
  environment(my_var) <- as.environment("package:mypkg")
}

my_func <- function() {
  # Do something complicated here and return complex list.
  # Returning TRUE just to make it simple
  TRUE
}

请注意,这my_var是使用我包中的另一个函数计算得出的my_func

弗里克先生

该符号仅存在于该功能范围内。更改环境不会在其他范围内重新分配。并且my_var只是一个“常规”变量,而变量没有environments()(仅函数和公式,可能还有其他变量,但不是所有变量)。例如,内置letters变量来自base,但environment(letters)返回NULL。

如果要分配一个将在函数外的特定命名空间中存在的变量,则应使用 assign()

.onAttach <- function(libname = find.package("mypkg"), pkgname = "mypkg") {
  message('on attach is called')
  my_var <- my_func()
  assign("my_var", my_var, envir=as.environment("package:mypkg"))
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用.onAttach附加软件包时存储变量

来自分类Dev

使用SimplePHPUnit软件包时出错

来自分类Dev

使用附加SDK创建XPI软件包?

来自分类Dev

使用ForecastCombinations软件包和Forecast软件包进行单变量预测

来自分类Dev

使用APT安装/升级的软件包存储在哪里?

来自分类Dev

如何使“ dnf”使用“ copr”存储库中的软件包

来自分类Dev

使用APT安装/升级的软件包存储在哪里?

来自分类Dev

使用NPM从专用存储库安装软件包

来自分类Dev

使用DEB软件包配置APT存储库

来自分类Dev

尝试使用APT安装软件包时“无法找到软件包”

来自分类Dev

当Lucid软件包使用Tensorflow软件包时出现问题

来自分类Dev

使用pip安装新软件包时,防止已安装的软件包升级

来自分类Dev

尝试使用APT安装软件包时“无法找到软件包”

来自分类Dev

每次我尝试使用“应用程序存储库...”安装某些软件包时都会出错

来自分类Dev

使用ODE45 Matlab软件包时出错

来自分类Dev

使用nvm时管理全局npm软件包

来自分类Dev

使用pip安装软件包时出错

来自分类Dev

在R中加载软件包时使用引号

来自分类Dev

使用pip安装软件包时缺少头文件

来自分类Dev

使用和安装Python软件包时的权限问题

来自分类Dev

使用PIP安装python软件包时出错

来自分类Dev

使用renv :: restore()安装软件包时出错

来自分类Dev

使用go软件包时如何检查响应头

来自分类Dev

使用pip安装Python软件包时出错:

来自分类Dev

不使用virtualenv时已安装的软件包位置

来自分类Dev

使用dpkg创建debain源软件包时出错

来自分类Dev

使用ODE45 Matlab软件包时出错

来自分类Dev

在klaR软件包中使用Woe过程时出错

来自分类Dev

尝试使用dpkg安装软件包时出现错误

Related 相关文章

热门标签

归档