findMethods {methods} | R Documentation |
These functions convert the methods defined in a table for a generic function (as used for selection of methods) into a list, for study or display, or provide other information summarizing the methods.
The function findMethods
returns a list of the method definitions currently existing for generic function f
, limited to the methods defined in environment where
if that argument is supplied and possibly limited to those including one or more of the specified classes
in the method signature.
The function findMethodSignatures
returns a character matrix whose rows are the class names from the signature of the corresponding methods; it operates either from a list returned by findMethods
, or by computing such a list itself, given the same arguments as findMethods
.
The function hasMethods
returns TRUE
or FALSE
according to whether there is a non-empty table of methods for function f
in the environment or search position where
(or anywhere on the search list if where
is missing).
The function getMethods
is an older alternative to findMethods
, returning information in the form of an object of class MethodsList
, previously used for method dispatch. It is not recommended, since the object returned is usually less convenient than the value of findMethods
.
findMethods(f, where, classes = character(), inherited = FALSE)
findMethodSignatures(..., target = TRUE, methods = )
hasMethods(f, where, package)
getMethods(f, where)
f |
A generic function or the character-string name of one. |
where |
Optionally, an environment or position on the search list to look for methods metadata. If |
classes |
If supplied, only methods whose signatures contain at least one of the supplied classes will be included in the value returned. |
inherited |
Logical flag; if |
... |
In the call to |
target |
Optional flag to |
methods |
In the call to |
package |
In a call to |
The functions obtain a table of the defined methods, either from the generic function or from the stored metadata object in the environment specified by where
. The information in the table is converted as described above to produce the returned value.
Note that the list returned may contain the primitive function itself, when the generic corresponds to a primitive. (Basically, because primitive functions are abnormal R objects, which cannot currently be extended as method definitions.) Computations that use the returned list to derive other information need to take account of this possibility. See the implementation of findMethodSignatures
for an example.
Note that hasMethods
, but not the other functions, can be used even if no generic function of this name is currently found.
In this case package
must either be supplied as an argument or included as an attribute of f
, since the package name is part of the identification of the methods tables.
These functions should be used in searching for or summarizing methods, rather than using information about how the metadata for methods is stored.
showMethods
, MethodsList-class
mm <- findMethods("Ops")
findMethodSignatures(methods = mm)