setGenericS3.RdNote that this method is a internal method called by
setMethodS3() and there is no reason for calling it directly!
Creates a generic function in S3 style, i.e. setting a
function with name name that dispatches the method name
via UseMethod. If there is already a function named name
that function is renamed to name.default.
# Default S3 method
setGenericS3(name, export=TRUE, envir=parent.frame(), dontWarn=getOption("dontWarnPkgs"),
validators=getOption("R.methodsS3:validators:setGenericS3"), overwrite=FALSE, ...)The name of the generic function.
A logical setting attribute "export".
The environment for where this method should be stored.
If a non-generic method with the same name is found it
will be "renamed" to a default method. If that method is found in
a package with a name that is not found in dontWarn
a warning will be produced, otherwise it will be renamed silently.
An optional list of functions that can be used
to assert that the generated generic function meets certain
criteria.
Not used.
If TRUE an already existing generic function with
the same name will be overwritten, otherwise not.
To define a method for a class see setMethodS3().
For more information about S3, see UseMethod().
myCat.matrix <- function(..., sep=", ") {
cat("A matrix:\n")
cat(..., sep=sep)
cat("\n")
}
myCat.default <- function(..., sep=", ") {
cat(..., sep=sep)
cat("\n")
}
setGenericS3("myCat")
myCat(1:10)
#> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
mat <- matrix(1:10, ncol=5)
myCat(mat)
#> A matrix:
#> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10