【发布时间】:2017-08-29 21:55:01
【问题描述】:
我有一组复杂的 R 脚本,并决定通过 message() 调用所有与调试相关的消息。我试图找到一种方法来抑制所有消息,并偶然发现了这个SO post,它建议我尝试使用sink()。所以我将以下代码行插入到我的脚本中,并设置我的config$debug_mode <- FALSE:
if (!config$debug_mode){
messages <- file("messages.Rout", open = "wt")
sink(messages, type = "message")
}
另一个 SO 帖子和 R 文档说只需调用 sink() 或 sink(file=NULL) 即可停止先前的转移,但这对我不起作用。即使在调用sink() 之后,我也看不到message() 调用的R Studio 控制台输出。此外,sink.number() 返回0,这似乎表明没有转移。那么,为什么我不再在 R Studio 控制台中看到输出?
【问题讨论】: