我已阅读了两篇最近讨论取决于进口和进口的帖子
但我有四个挥之不去的相关问题:
假设我希望最终用户在我的包中加载时也可以使用两个包。在这种情况下,是否有充分的理由不使用Depends? (这里的要点是通过只加载一个包的命令加载所有三个包。)
是否可以在Depends和Imports字段中指定包裹?
如果在Depends中列出了一个包,是否还要在Imports中列出它?或者使用Depends已经取消了Imports的好处?
以下是否正确?当且仅当在NAMESPACE文件中导入(全部或部分)包时,才应在DESCRIPTION文件的Imports字段中列出包。
非常感谢!
大卫
答案 0 :(得分:11)
有几点,我承认我有时也会觉得这有点困惑。但我最近重新审视过,这是我的看法:
“取决于”是我们过去常常做的事情;它最接近“只加载所有三个”:当你的第三个取决于其他两个时,所有三个都将被加载。
使用命名空间,我们也可以导入。这仅引入所述符号,其可以是数据或函数。我有时会用它;它不会加载您导入的其他包,只是使所述符号可用。因此,它比“Depends”更“轻”。
如果您选择,则无需进口。
这是正确的:如果您在NAMESPACE中使用声明从其他包导入符号,则需要在导入中列出其他包:在描述文件中。