There is something I'm really missing here. The function show is a standardGeneric function, so the correct way to write it as method like this:
setMethod("show", "Person", function(object) { for an object of class "Person" for example. Dave On Tue, Jun 30, 2015 at 10:11 AM, <luke-tier...@uiowa.edu> wrote: > Same thing happens with S3 if you redefine print(). I thought that > code was actually calculating the function to call rather than the > symbol to use, but apparently not. Shouldn't be too hard to fix. > > luke > > On Tue, 30 Jun 2015, Hadley Wickham wrote: > > On Tue, Jun 30, 2015 at 2:20 PM, Duncan Murdoch >> <murdoch.dun...@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 >> >> >> > -- > Luke Tierney > Ralph E. Wareham Professor of Mathematical Sciences > University of Iowa Phone: 319-335-3386 > Department of Statistics and Fax: 319-335-3017 > Actuarial Science > 241 Schaeffer Hall email: luke-tier...@uiowa.edu > Iowa City, IA 52242 WWW: http://www.stat.uiowa.edu > > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel