[Rd] Defining a `show` function breaks the print-ing of S4 object -- bug or expected?

Hadley Wickham h.wickham at gmail.com
Tue Jun 30 14:38:15 CEST 2015


On Tue, Jun 30, 2015 at 2:20 PM, Duncan Murdoch
<murdoch.duncan at gmail.com> wrote:
> On 30/06/2015 1:57 PM, Hadley Wickham wrote:
>> A slightly simpler formulation of the problem is:
>>
>> show <- function(...) stop("My show!")
>> methods::setClass("Person", slots = list(name = "character"))
>> methods::new("Person", name = "Tom")
>> #> Error in (function (...)  : My show!
>
> Just to be clear:  the complaint is that the auto-called show() is not
> methods::show?  I.e. after
>
> x <- methods::new("Person", name = "Tom")
>
> you would expect
>
> show(x)
>
> to give the error, but not
>
> x
>
> ??

Correct - I'd expect print() to always call methods::show(), not
whatever show() is first on the search path.

Hadley

-- 
http://had.co.nz/



More information about the R-devel mailing list