This help topic is for R version 1.5.0. For the current version of R, try https://stat.ethz.ch/R-manual/R-patched/library/methods/html/show.html
show {methods}R Documentation

Show an Object

Description

Display the object, by printing, plotting or whatever suits its class.

The function show exists to be specialized by methods; the default method calls showDefault.

With library methods attached, methods for show will usually be invoked for automatic printing (see the details).

The function showDefault allows redirection of output and optional use of old-style print methods, but normally will not be called directly.

Usage

show(object)

showDefault(object, printTo = stdout(), oldMethods = TRUE)

Arguments

object

Any R object

printTo

Either a file or connection, or else FALSE. In the latter case, the lines of text that would have been printed are returned as the value of the call (in a character vector with one element per line of output).

oldMethods

Should old-style print methods be used for this object? TRUE by default if called directly, but FALSE when called from the methods package for automatic printing (to avoid potential recursion; see the details below).

Details

The methods package overrides the base definition of print.default to arrange for automatic printing to honor methods for the function show. This does not quite manage to override old-style printing methods, since the automatic printing in the evaluator will look first for the old-style method.

If you have a class myClass and want to define a method for show, all will be well unless there is already a function named print.myClass. In that case, to get your method dispatched for automatic printing, it will have to be a method for print. A slight cheat is to override the function print.myClass yourself, and then call that function also in the method for show with signature "myClass".

Value

show returns an invisible NULL.

For showDefault, if printTo is FALSE, the value is a character vector containing the lines that would otherwise have been printed.

See Also

showMethods prints all the methods for one or more functions; showMlist prints individual methods lists; showClass prints class definitions. Neither of the latter two normally needs to be called directly.

Examples

## following the example shown in the setMethod documentation ...
setClass("track",
         representation(x="numeric", y="numeric"))
setClass("trackCurve", 
         representation("track", smooth = "numeric"))

t1 <- new("track", x=1:20, y=(1:20)^2)

tc1 <- new("trackCurve", t1)

setMethod("show", "track",
  function(object)print(rbind(x = object@x, y=object@y))
)
## The method will now be used for automatic printing of t1

t1

## Not run:   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
x    1    2    3    4    5    6    7    8    9    10    11    12
y    1    4    9   16   25   36   49   64   81   100   121   144
  [,13] [,14] [,15] [,16] [,17] [,18] [,19] [,20]
x    13    14    15    16    17    18    19    20
y   169   196   225   256   289   324   361   400

## End(Not run)
## and also for tc1, an object of a class that extends "track"
tc1

## Not run:   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
x    1    2    3    4    5    6    7    8    9    10    11    12
y    1    4    9   16   25   36   49   64   81   100   121   144
  [,13] [,14] [,15] [,16] [,17] [,18] [,19] [,20]
x    13    14    15    16    17    18    19    20
y   169   196   225   256   289   324   361   400

## End(Not run)

[Package methods version 1.5.0 ]