R 如何隐藏或禁用功能打印消息

R 如何隐藏或禁用功能打印消息,r,printing,R,Printing,假设我有一个函数,例如: ff <- function(x) { cat(x, "\n") x^2} 您可以将capture.output与不可见一起使用 > invisible(capture.output(y <- ff(2))) > y [1] 4 这里有一个很好的函数,用于抑制Hadley Wickham的cat()的输出: quiet <- function(x) { sink(tempfile()) on.exit(sink())

假设我有一个函数,例如:

ff <- function(x) {
  cat(x, "\n")
  x^2}

您可以将
capture.output
不可见一起使用

> invisible(capture.output(y <- ff(2)))
> y
[1] 4

这里有一个很好的函数,用于抑制Hadley Wickham的
cat()
的输出:

quiet <- function(x) { 
  sink(tempfile()) 
  on.exit(sink()) 
  invisible(force(x)) 
} 

quiet您还应该查看
purrr::quiety()

ff[1]49

由(v0.3.0)

于2020-09-10创建,您可以添加一个
verbose=T/F
参数和一个
if
块这正是我想要的。非常感谢。
> invisible(capture.output(y <- ff(2)))
> y
[1] 4
> sink("file")
> y <- ff(2)
> sink()
> y
[1] 4
quiet <- function(x) { 
  sink(tempfile()) 
  on.exit(sink()) 
  invisible(force(x)) 
} 
y <- quiet(ff(5))