[Rd] Defining a `show` function breaks the print-ing of S4 object -- bug or expected?
Dean Attali
daattali at gmail.com
Tue Jun 30 09:02:34 CEST 2015
Hi r-devel
If you define a function named `show` or attach a package with an exported
`show` function, then printing/vieweing S4 objects breaks. This is probably
because the `print` function calls `show`, which is now masked.
Example:
show <- function() {}
> setClass("Person", slots = list(name = "character"))
> tom <- new("Person", name = "Tom")
> tom # error
> methods::show(tom) # works
The error was a surprise to me because I was under the assumption that
`show` would be namespaced and therefore should not break.
I'm wondering if this is intended behaviour, or if this is a problem. My
intuition, and Hadley agreed on Twitter, is that defining a `show` method
should not have such a grave effect on printing S4 objects.
Thanks
---
http://deanattali.com
[[alternative HTML version deleted]]
More information about the R-devel
mailing list