【发布时间】:2013-10-17 06:08:02
【问题描述】:
我正在创建一个 R 包,发现将一个文件中的部分逻辑分解为我在同一个文件中定义的内部辅助函数很有用。我有一种特殊情况,我的函数通过match.fun() 决定使用哪个辅助函数。由于它们对其他功能或人员没有用处,因此我不想将它们放在单独的文件中,也不想导出它们。
我所有的测试案例都使用test_dir() 通过。当我不导出这些函数时,我的测试用例在 R CMD 检查期间失败。
"object 'helperfunction1' of mode 'function' was not found", quote(get(as.character(FUN),
mode = "function", envir = envir)))
查看this post 后,如果我明确导出或添加导出条目到 NAMESPACE,我可以让事情正常工作,但我又不想导出这些。
有没有更好的方法来做到这一点并且不需要我导出? (我承认问题的根源可能是match.fun(),并且我对在运行时调用函数的其他方式持开放态度。)
【问题讨论】:
-
你不能在那里使用
yourPackage:::helperfunction1(...吗? (请注意,这些是 3 个而不是 2 个冒号。)