R-Devel-ers: I have an S4 method that simply formats an object:
setGeneric("formatMe", function(x) standardGeneric("formatMe")) setMethod("formatMe", "ANY", function(x) format(x)) If I issue the above in an R session, then define an S4 class with its own format method, I get the desired result: > setClass("A",contains="numeric") [1] "A" > setMethod("format","A", function(x, ...) "Hey Jude") Creating a new generic function for "format" in ".GlobalEnv" [1] "format" > a<-new("A",1968) > formatMe(a) [1] "Hey Jude" However, if I put the two "formatMe" definitions into a package ("Test"), I do not get the desired result. <start new R session> > library(Test) > setClass("A",contains="numeric") [1] "A" > setMethod("format","A", function(x, ...) "Hey Jude") Creating a new generic function for "format" in ".GlobalEnv" [1] "format" > a<-new("A",1968) > formatMe(a) [1] "1968" The "disconnect" does not occur, however, if the S4 format method is an S3 incarnation: > setClass("B",contains="numeric",S3methods=TRUE) [1] "B" > format.B <- function(x, ...) "Don't make it bad" > b<-new("B",1968) > formatMe(b) [1] "Don't make it bad" Could the problem be in Test's NAMESPACE file? There is only one line: exportMethods(formatMe) Here is Test's DESCRIPTION file: Package: Test Type: Package Title: Testing format Version: 1.0 Date: 2010-06-22 Author: Dan Murphy Maintainer: Dan Murphy <snipped> Depends: methods Description: Does format in a package work with S4 format method? License: GPL (>= 2) LazyLoad: yes (I would send the Help file, but I don't think that is the problem.) I am using version 2.11.1 on a Windows Vista machine. Any guidance would be appreciated. Thank you Dan Murphy [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel