shiny (version 0.3.0)

reactiveText: Text Output

Description

Makes a reactive version of the given function that also uses cat to turn its result into a single-element character vector.

Usage

reactiveText(func)

Arguments

func
A function that returns an R object that can be used as an argument to cat.

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.

The result of executing func will passed to cat, inside a capture.output call.

See Also

reactivePrint for capturing the print output of a function, rather than the returned text value.

Examples

Run this code
isolate({

# reactivePrint captures any print output, converts it to a string, and
# returns it
visFun <- reactivePrint(function() "foo")
visFun()
# '[1] "foo"'

invisFun <- reactivePrint(function() invisible("foo"))
invisFun()
# ''

multiprintFun <- reactivePrint(function() {
  print("foo");
  "bar"
})
multiprintFun()
# '[1] "foo"\\n[1] "bar"'

nullFun <- reactivePrint(function() NULL)
nullFun()
# 'NULL'

invisNullFun <- reactivePrint(function() invisible(NULL))
invisNullFun()
# ''

vecFun <- reactivePrint(function() 1:5)
vecFun()
# '[1] 1 2 3 4 5'


# Contrast with reactiveText, which takes the value returned from the function
# and uses cat() to convert it to a string
visFun <- reactiveText(function() "foo")
visFun()
# 'foo'

invisFun <- reactiveText(function() invisible("foo"))
invisFun()
# 'foo'

multiprintFun <- reactiveText(function() {
  print("foo");
  "bar"
})
multiprintFun()
# 'bar'

nullFun <- reactiveText(function() NULL)
nullFun()
# ''

invisNullFun <- reactiveText(function() invisible(NULL))
invisNullFun()
# ''

vecFun <- reactiveText(function() 1:5)
vecFun()
# '1 2 3 4 5'

})

Run the code above in your browser using DataCamp Workspace