【发布时间】:2020-10-17 20:57:38
【问题描述】:
上下文
我正在开发一个 R 包,其中包含超过 100 页的函数,这些函数分为 10 个不同的主题。
期望的行为
我希望用户在调用函数时能够考虑到这些主题。
例如,用户不必调用foo(),而是必须这样做
load(theme1) # or whatever would be used to load a subgroup of functions
foo()
或类似的东西
theme1$foo()
我想阻止用户做的是直接加载包并调用函数而不考虑主题,即library(package); foo()。
我尝试过的
我已经使用modules package 在previous package 中完成后一种解决方案,但是由于我的函数是相互依赖的,这一次该软件包的已发布版本不能很好地工作(我已经打开了一个GitHub issue 讨论主题)。
我还考虑编写自己的解决方案,也许是一些简单的事情,涉及创建一个 sublibrary() 函数,一次只导出几个函数,但我没有得到任何结果。
当然,我想发布 10 个不同的包在技术上也是可行的,但我认为这种解决方案太笨拙了。
问题
除了使用模块,有没有办法实现以上功能?
【问题讨论】:
标签: r module package grouping r-package