人们如何学习为R包命名空间?我觉得《R扩展》中的文档很好,但是当变量被导入或导出时究竟发生了什么,我并不清楚——我需要一个对这些指令的“傻瓜指南”。
您如何决定要导出什么?是所有东西都不应该需要pkg:::var语法的内容吗?导入又如何?
导入是否使确保在函数名称重叠时使用其他包函数不会混淆更容易?
S4类是否有特殊考虑?
我熟悉的使用命名空间的包(如sp和rgdal)相当复杂——有没有简单的示例可以使事情更清晰?
人们如何学习为R包命名空间?我觉得《R扩展》中的文档很好,但是当变量被导入或导出时究竟发生了什么,我并不清楚——我需要一个对这些指令的“傻瓜指南”。
您如何决定要导出什么?是所有东西都不应该需要pkg:::var语法的内容吗?导入又如何?
导入是否使确保在函数名称重叠时使用其他包函数不会混淆更容易?
S4类是否有特殊考虑?
我熟悉的使用命名空间的包(如sp和rgdal)相当复杂——有没有简单的示例可以使事情更清晰?
我读过最清晰的解释在John Chambers的《Software for Data Analysis: Programming with R》第103页。我不知道有比你已经在R扩展手册中找到的更好的免费在线解释。
digest()
函数。以下是NAMESPACE文件的内容:## package has dynamic library
useDynLib(digest)
## and one and only one core function
export(digest)
请查看其余的源文件,也许可以尝试阅读编写R扩展,并结合示例进行学习,进行一些实验。
export(...)
语句。如果你导入了包,你还需要为每个包添加一个import(...)
语句。另请参见本页面 @DirkEddelbuettel 的答案。 - Andrieroxygen2
来为您创建它。 - hadleynew.env()
时创建环境一样。我知道它们用于包,但是在开发不是包的大型脚本时,这仍然很有用。devtools
是否提供类似的功能呢? - Matt Bannert