Text Output — renderPrint
renderPrint( expr, env = parent.frame(), quoted = FALSE, width = getOption("width"), outputArgs = list() ) renderText( expr, env = parent.frame(), quoted = FALSE, outputArgs = list(), sep = " " )
Arguments
expr |
An expression to evaluate. |
|---|---|
env |
The environment in which to evaluate |
quoted |
Is |
width |
Width of printed output. |
outputArgs |
A list of arguments to be passed through to the implicit
call to |
sep |
A separator passed to |
Description
renderPrint() prints the result of expr, while renderText() pastes it
together into a single string. renderPrint() is equivalent to print();
renderText() is equivalent to cat(). Both functions capture all other
printed output generated while evaluating expr.
renderPrint() is usually paired with verbatimTextOutput();
renderText() is usually paired with textOutput().
Value
For renderPrint(), note the given expression returns NULL then NULL
will actually be visible in the output. To display nothing, make your
function return invisible().
Details
The corresponding HTML output tag can be anything (though pre is
recommended if you need a monospace font and whitespace preserved) and should
have the CSS class name shiny-text-output.
Examples
isolate({ # renderPrint captures any print output, converts it to a string, and # returns it visFun <- renderPrint({ "foo" }) visFun() # '[1] "foo"' invisFun <- renderPrint({ invisible("foo") }) invisFun() # '' multiprintFun <- renderPrint({ print("foo"); "bar" }) multiprintFun() # '[1] "foo"\n[1] "bar"' nullFun <- renderPrint({ NULL }) nullFun() # 'NULL' invisNullFun <- renderPrint({ invisible(NULL) }) invisNullFun() # '' vecFun <- renderPrint({ 1:5 }) vecFun() # '[1] 1 2 3 4 5' # Contrast with renderText, which takes the value returned from the function # and uses cat() to convert it to a string visFun <- renderText({ "foo" }) visFun() # 'foo' invisFun <- renderText({ invisible("foo") }) invisFun() # 'foo' multiprintFun <- renderText({ print("foo"); "bar" }) multiprintFun() # 'bar' nullFun <- renderText({ NULL }) nullFun() # '' invisNullFun <- renderText({ invisible(NULL) }) invisNullFun() # '' vecFun <- renderText({ 1:5 }) vecFun() # '1 2 3 4 5' })