gpt4 book ai didi

r - 2.14.0 即将到来的命名空间、依赖、导入更改(请一些定义/使用)

转载 作者:行者123 更新时间:2023-12-02 11:23:40 25 4
gpt4 key购买 nike

如果您是软件包作者,那么当我们在大约一周后转向 2.14 时,您希望能够清楚地了解软件包结构即将发生的变化。其中一项更改是所有软件包都需要命名空间,如果您不创建命名空间,则会为您生成一个命名空间(R 相当于您在美国的米兰达权利)。所以作为一个好公民,我试图解决这个问题。这是 R-exts 的部分:

1.6.5 Summary – converting an existing package

To summarize, converting an existing package to use a namespace involves several simple steps:

Identify the public definitions and place them in export directives. Identify S3-style method definitions and write corresponding S3method declarations. Identify dependencies and replace any require calls by import directives (and make appropriate changes in the Depends and Imports fields of the DESCRIPTION file). Replace .First.lib functions with .onLoad functions or useDynLib directives.

为了确保我在这里做正确的事情,有人可以给出一个简短明确的定义/答案(我是否因为将几个小但相关的问题放在一起而违反了规则?)。所有答案都应考虑 2.14,请:

  1. R 使用的 NAMESPACE 的定义
  2. 有没有办法在构建和检查之前生成 NAMESPACE,或者我们 b/c 一次,然后编辑自动创建的 NAMESPACE?
  3. 描述文件中“取决于:”和“导入:”之间的区别。特别是,为什么我要将包放在“Depends:”而不是“Imports:”中,反之亦然?
  4. 听起来“require”不再被使用,尽管它没有这么说。这是正确的解释吗?

谢谢!

最佳答案

我在 https://github.com/hadley/devtools/wiki/Namespaces 上写了一些关于这个主题的文章。 。

回答您的问题:

  1. 请参阅德克的回答。
  2. 使用 roxygen2
  3. 现在每个包都有一个命名空间,因此没有理由使用 Depends。
  4. require 只能用于加载建议的包

关于r - 2.14.0 即将到来的命名空间、依赖、导入更改(请一些定义/使用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7880355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com