Here is an example:
setGeneric("foo", function(x, y) standardGeneric("foo"))
setMethod("foo", c("numeric", "ANY"),
function(x, y) cat("I'm the foo#numeric#ANY method\n")
)
Dispatch works as expected but selectMethod() fails to find the method:
> foo(1, TRUE)
I'm the foo#numeric#ANY method
> selectMethod("foo", c("numeric", "logical"))
Error in selectMethod("foo", c("numeric", "logical")) :
no method found for signature numeric, logical
Adding an arbitrary method that doesn't have ANY in the signature "fixes"
selectMethod():
setMethod("foo", c("complex", "integer"),
function(x, y) cat("I'm the foo#complex#integer method\n")
)
Then:
> selectMethod("foo", c("numeric", "logical"))
Method Definition:
function (x, y)
cat("I'm the foo#numeric#ANY method\n")
Signatures:
x y
target "numeric" "logical"
defined "numeric" "ANY"
Thanks,
H.
--
Hervé Pagès
Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M1-B514
P.O. Box 19024
Seattle, WA 98109-1024
E-mail: [email protected]<mailto:[email protected]>
Phone: (206) 667-5791
Fax: (206) 667-1319
[[alternative HTML version deleted]]
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel