r - 在包内使用 makeActiveBinding
问题描述
我只需要一个 R 函数,例如:
> la. <- function (envir = globalenv()) {ls(all = T, envir = envir) }`
具有活动绑定,因此我确实需要键入括号
> makeActiveBinding('la', la., globalenv())
以便
> la
[1] "la" "la."
我现在想实现函数la()
并将它绑定la
在一个包内,这样当我加载包时,la
就可以使用了。
如何将函数绑定到包环境la.()
中的符号?la
我应该将什么值传递给envir
函数的参数makeActiveBinding()
谢谢你的帮助
解决方案
这可能是函数中要做的.onLoad
事情,在你的包中是这样的:
NAMESPACE <- environment()
la. <- function(){
ls(all = T, envir = globalenv())
}
.onLoad <- function(libname, pkgname) {
makeActiveBinding("la", la., NAMESPACE)
}
推荐阅读
- python - 当我在 Keras 中运行 model.fit_generator 时,控制台中的这个输出是什么意思?
- css - 使用 CSS 将字体颜色更改为文章?
- docker - Traefik 在完成 tls-alpn-01 挑战后使用无链证书
- spring-boot - 连接到运行 openshift 的 Consul 服务器到在 localhost 上运行的 Consul 客户端
- azure - Azure 活动日志架构中有关 correlationId 的问题
- sql - 在 SQL 中基于层次结构合并重叠时间间隔
- python - 如何修复在 MacOS 10.7.5 上安装 PyGame 的错误代码 1?
- c# - 检索服务并在网络核心的某个任意类中使用它
- django - Django 现在在 Heroku 中使用 ASGI + WSGI 的频道
- javascript - 如何构建我的 API 调用,以及将密钥和查询放在哪里?