gpt4 book ai didi

r - 构建定义引用类的 R 包

转载 作者:行者123 更新时间:2023-12-02 05:28:30 26 4
gpt4 key购买 nike

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

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

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

最佳答案

我认为 Collat​​e: 字段可以为 S4 类执行此操作,并且在这里也可能有所帮助。来自Writing R Extensions手册,Section 1.1.1

An 'Collate' field can be used for controlling the collation order for the R code files in a package when these are processed for package installation. The default is to collate according to the 'C' locale. If present, the collate specification must list all R code files in the package (taking possible OS-specific subdirectories into account, see "Package subdirectories") as a whitespace separated list of file paths relative to the 'R' subdirectory. Paths containing white space or quotes need to be quoted. An OS-specific collation field ('Collate.unix' or 'Collate.windows') will be used instead of 'Collate'.

例如 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

关于r - 构建定义引用类的 R 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12738402/

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