| 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
|
oldMethods |
Should old-style print methods be used for this
object? |
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)