R.utils (version 2.3.0)

withSink: Evaluate an R expression while temporarily diverting output

Description

Evaluate an R expression while temporarily diverting output.

Usage

withSink(expr, file, append=FALSE, type=c("output", "message"), envir=parent.frame())

Arguments

expr
The R expression to be evaluated.
file
A writable connection or a character string naming the file to write to.
append
If TRUE, the diverted output is appended to the file, otherwise not.
type
A character string specifying whether to divert output sent to the standard output or the standard error. See sink() for details.
envir
The environment in which the expression should be evaluated.

Value

Returns the results of the expression evaluated.

Details

Upon exit (also on errors), this function will close the requested "sink". If additional sinks (of any type) where also opened during the evaluation, those will also be closed with a warning.

See Also

Internally, sink() is used to divert any output.

Examples

Run this code
# Divert standard output
pathname <- tempfile(fileext=".output.txt")
res <- withSink(file=pathname, {
  print(letters)
})
mcat(readLines(pathname), sep="\n")


# Divert standard error/messages
pathname <- tempfile(fileext=".message.txt")
res <- withSink(file=pathname, type="message", {
  mprint(LETTERS)
})
mcat(readLines(pathname), sep="\n")

Run the code above in your browser using DataCamp Workspace