还有类似的较旧的问题,但是自roxygen2版本3.0.0以来,情况有所变化(据我从SO的其他问答中了解到)。
我已经编写了一个替代函数format.Date
,我想将其作为方法和函数导出。
使用@export标记意味着roxygen2将其识别为打印的S3方法,并进行相应注册。当我加载包并打印日期对象时,将调用我的方法。到目前为止,一切都很好。
但是,当我随后调用format.Date时,我仍然可以使用正常的基本方法。当我使用debugonce(format.Date)
时,也会在base :: format.Date上设置“调试标记”,因此,如果调用了我的方法,则什么也不会发生。或者,如果我想检查源代码:用户很难理解他用View(format.Date)看到的不是执行的内容。
如果用户查看我的程序包中提供了哪些功能,则format.Date不存在。
所以我想将format.Date导出为S3方法的两者和作为 format.Date 的常规函数。为此,我希望我的NAMESPACE文件包含以下两行:
S3method(format,Date)
export(format.Date)
roxygen2是否可能?我的印象是您可以在早期版本中执行此操作(因为您可以同时提供@ S3method / @ method和@export),但现在无法正常工作。
背景信息:带有R 3.5.1的roxygen2版本6.1.1,在Rstudio 1.1.453 / MacOS 10.13.6下运行