我是一个使用RScaLAPACK的R新手,每当我产生一个新的流程网格时,我都会收到一条消息。
> sla.gridInit(2)
[1] "RScaLAPACK:Process Grid Initialized "
我要把这一行放在一个函数中,我不希望我的函数吐出这条消息。但是 - 我不想只是下沉(“/ dev / null”)调用,因为据我所知,某些地方可能会出错,然后我会抑制有用的输出。基本上,我希望它在成功时保持沉默,如果它失败则要大声。实现这一目标的最佳方法是什么?
欢迎任何想法,包括设计考虑因素。
编辑: sla.gridInit()没有返回任何内容。 sla.gridInit的代码只调用print()。
编辑: 我认为捕获输出最好像suppress messages displayed by "print" instead of "message" or "warning" in R。如果我想用它做点什么,至少我会得到输出。
答案 0 :(得分:17)
您可以将此函数包含在其中一个抑制*函数suppressMessages
,suppressWarnings
或suppressPackageStartupMessages
中。有关详细信息,请参阅这些功能的帮助页面。