【问题标题】:Building an R package that defines reference classes构建定义引用类的 R 包
【发布时间】:2012-10-05 01:43:06
【问题描述】:

我正在创建一个 R 包。该包定义了几个参考类。类之间存在依赖关系,因为一个是基类,另一个是子类。由于这种依赖关系,包文件必须按一定的顺序加载:基类首先,然后是子类。然而,幸运的是,R 首先加载了 子类 并抱怨未定义基类。

如何强制包的源文件按特定顺序执行?

我目前的“解决方案”是将所有类定义放入一个源文件中,首先定义基类。说丑。一定有更好的办法。

【问题讨论】:

    标签: r reference-class


    【解决方案1】:

    我认为Collate: 字段可以为 S4 课程做到这一点,并且在这里也可能有所帮助。来自Writing R Extensions 手册,Section 1.1.1

    “整理”字段可用于控制整理顺序 处理包中的 R 代码文件时 安装。默认是根据“C”语言环境进行整理。 如果存在,则整理规范必须列出 所有 R 代码文件 包(考虑到可能的特定于操作系统的子目录, 请参阅“包子目录”)作为空格分隔的列表 相对于“R”子目录的文件路径。包含白色的路径 需要引用空格或引号。特定于操作系统的排序规则字段 ('Collat​​e.unix' or 'Collat​​e.windows') 将被用来代替 '整理'。

    例如 XML 包有

    Collate: AAA.R DTD.R DTDClasses.R DTDRef.R SAXMethods.S XMLClasses.R
            applyDOM.R assignChild.R catalog.R createNode.R dynSupports.R
            error.R flatTree.R nodeAccessors.R parseDTD.R schema.S
            summary.R tangle.R toString.S tree.R version.R xmlErrorEnums.R
            xmlEventHandler.R xmlEventParse.R xmlHandler.R
            xmlInternalSource.R xmlOutputDOM.R xmlNodes.R xmlOutputBuffer.R
            xmlTree.R xmlTreeParse.R htmlParse.R hashTree.R zzz.R
            supports.R parser.R libxmlFeatures.R xmlString.R saveXML.R
            namespaces.R readHTMLTable.R reflection.R xmlToDataFrame.R
            bitList.R compare.R encoding.R fixNS.R xmlRoot.R serialize.R
            xmlMemoryMgmt.R keyValueDB.R solrDocs.R XMLRErrorInfo.R
            xincludes.R namespaceHandlers.R tangle1.R
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-11
      • 2019-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-01
      • 1970-01-01
      相关资源
      最近更新 更多