首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >避免控制台消息表单包功能

避免控制台消息表单包功能
EN

Stack Overflow用户
提问于 2016-08-25 20:38:03
回答 1查看 66关注 0票数 3

我使用了一个包函数(corenv,来自seewave),它创建了一个“请等待.”控制台中的消息。正如我反复所说的那样,这个消息非常恼人。所以,我需要一个方法:

  • 在我的代码中,暂时禁止控制台消息。

  • 访问函数代码并删除消息行

以下不是我的真正代码,而是一个非常简单的代码,显示了这个问题。

代码语言:javascript
复制
require(seewave)
a = seq(0, (2*pi), by=0.01) #simple, unreal example
for (i in sequence(100)){
  x = sin(a*i/3) #simple, unreal example
  y = sin(a*i/2) #simple, unreal example
  corenv(x,y,10,plot=FALSE)
}

一个非常简单的问题,但我还没有找到任何解决办法。我愿意接受任何帮助

EN

回答 1

Stack Overflow用户

发布于 2016-08-25 20:47:27

您可以使用sink来捕获输出。

代码语言:javascript
复制
sink("tmp.txt")
z = corenv(x,y,10,plot=FALSE)
sink()

您也可以将它包装在一个函数中。

代码语言:javascript
复制
## unlink deletes the temporary file
## on.exit ensures the sink is closed even if 
## corenv raises an error.
corenv(..., verbose=FALSE) {
  if(verbose) {
    sink("tmp.txt")
    on.exit(sink(); unlink("tmp.txt"))
  }
  seewave::corenv(...)
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39154353

复制
相关文章

相似问题

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