【问题标题】:Export all hidden functions from a package从包中导出所有隐藏函数
【发布时间】:2016-10-16 10:00:40
【问题描述】:

有没有办法从包中自动导入所有隐藏函数,即只能通过package:::fun 访问的函数?

确实,我对使用大量内部函数的给定函数进行了一些修改,我想避免在任何地方重新输入package:::

我查看了loadNamespace 基本函数,但它没有附加未导出的函数。

【问题讨论】:

  • 您能提供更多背景信息吗?例如,创建包的一个分支并使用您的修改构建它是一个选项吗?

标签: r namespaces package


【解决方案1】:

好吧,我终于找到了一种使用 this related posteval 的技巧:

# get all the function names of the given package "mypack"
r <- unclass(lsf.str(envir = asNamespace("mypack"), all = T))

# filter weird names
r <- r[-grep("\\[", r)]
r <- r[-grep("<-", r)]

# create functions in the Global Env. with the same name
for(name in r) eval(parse(text=paste0(name, '<-mypack:::', name)))

我本来以为有一些预建的函数可以做到这一点。

【讨论】:

  • 感谢您指出这一点。这是因为一些有线名称(不知道这些功能是什么),您应该添加一些过滤,请参阅我编辑的答案
猜你喜欢
  • 1970-01-01
  • 2010-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-04
  • 1970-01-01
相关资源
最近更新 更多