[Rd] Same method for more than one class
Gregor Gorjanc
gregor.gorjanc at bfro.uni-lj.si
Thu Mar 1 11:47:42 CET 2007
Hi,
when defining method (I used length bellow just for the simplicity) for
myClass (S4 class) I use
setMethod(f="length", signature(x="myClass"),
def=function(x) {
cat("works")
})
If I have myClass1 and myClass2 and mentioned method, which is not the
default one, applies to both classes I have to write two setMethod()
statements. Would it be possible to use
signature(x=c("myClass1", "myClass2"))
Currently it issues an error
setClass(Class="myClass1", representation=representation(x="integer"))
setClass(Class="myClass2", representation=representation(x="integer"))
setMethod(f="length", signature(x="myClass1"),
def=function(x) {
cat("works")
})
## OK.
setMethod(f="length", signature(x=c("myClass1", "myClass1")),
def=function(x) {
cat("works")
})
Error in signature(x = c("myClass1", "myClass1")) :
bad class specified for element 1 (should be a single character string)
Regards, Gregor
More information about the R-devel
mailing list