r - CRAN 包发布反馈:你向控制台写信息消息,不容易被压制
问题描述
我从 CRAN 那里得到了关于包发布的反馈。
什么是压制手段?
反馈:
您将信息消息写入控制台,这些消息不容易被抑制。如果您确实必须将文本写入控制台,则不要使用 print()/cat() 而是使用 message()/warning() 或 if(verbose)cat(..) (或者可能 stop()) 。(打印、汇总、交互功能除外)
解决方案
我们看不到你的代码,因为你没有提供一个可重复的例子——所以我有一些猜测——但这可能意味着你有一个
print()
cat()
在您的代码中,正如文本所述。而不是cat("Hello to my package\n")
你也可以说packageStartupMessage("Hello to my package\n")
对应的函数suppressPackageStartupMessages()
可以用来抑制哪个。
例如:
> packageStartupMessage("Welcome to my package")
Welcome to my package
> suppressPackageStartupMessages(packageStartupMessage("Welcome ..."))
>
第二个被压制了,第一个没有。您需要在包(或它使用的任何库)中找到打印到控制台的内容并进行更改。
同样,message()
可以抑制,并且warning()
可以通过警告级别进行控制。
清单是解决这些问题的r-package-devel
好地方,清单档案也会有这样的例子。
推荐阅读
- sql - 如何在 where 子句中为子查询使用别名
- python - 更改稀疏矩阵行的随机选择条目的值
- android - android片段覆盖onCreateAnimation
- arguments - nagios 命令参数通过本地 check_nrpe 命令或远程 nrpe 代理合并到 nrpe 命令名称中
- postgresql - 无效操作:在子计划目标列表中找不到变量 - RedShift
- powershell - 在组合框中选择一个项目一次
- python - 使用python匹配两个csv文件之间的列值时输出错误
- android - Recycler 视图如何绘制单独的行
- python - 创建一个游戏,其中计算机通过 <、> 或 = 的输入来猜测一个值
- codenameone - 刷新 cn1lib 文件后组件不工作