首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么时候和什么时候不要在R包开发中使用\ not和\dontrun?

什么时候和什么时候不要在R包开发中使用\ not和\dontrun?
EN

Stack Overflow用户
提问于 2021-08-26 08:31:16
回答 1查看 515关注 0票数 2

因此,我将我的包提交给CRAN,并且我对何时在\donttest\dontrun中包装示例感到困惑。我有几个不同的案例:

返回数据帧等的plotly

  • Examples

  • 示例。返回通过spreadsheets)

  • Examples生成的静态数字的

  • 示例,这些静态数字返回通过plotly

  • Examples读写文件系统生成的JavaScript数字(例如导入数据和编写运行闪亮应用程序

的spreadsheets)

  • Examples)。

我已经计算出(1)我不应该用\donttest\dontrun包装。对于(5),我应该用if(interactive()){}包装整个函数。

这仍然是2-5的情况下,我不确定我是否应该留下的例子包装或未包装。我猜情节是可以的,但不确定是否读/写文件。任何暗示或指引我到一个可以清楚解释的地方都是非常感激的。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-26 10:04:16

一般来说,除非你需要这些标记,否则你应该避免使用这些标记。如果示例做了一些可能会失败的事情,您将需要其中之一,因为CRAN会将失败视为包中的一个错误。如果它们做了一些危险的事情(例如,在用户的主目录中创建文件、删除所创建的诱惑文件以外的文件、发送电子邮件等),您也会使用它们。

\dontrun标记较强。在过去,封装在其中的示例甚至不需要在语法上是正确的,尽管我认为这可能已经改变了。如果用户运行example()函数,他们将不会运行该代码。

在运行时间太长并违反CRAN的5秒限制的例子上使用\donttest。运行example()的用户将运行这些代码,但是包的基本测试不会运行,有时CRAN会测试\donttest代码,所以它必须工作。(通常,如果可以的话,最好给出一些运行速度快且没有达到5秒限制的示例。)

对于具体的示例,只要足够快就不需要任何包装,而且您可以安排所有文件系统更改都发生在R会话临时目录中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68935126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档