MethodsList {methods} | R Documentation |
These functions create and manipulate MethodsList
objects, the
objects formerly used in R to store methods for dispatch. Use of
these objects is deprecated since R 3.2.0, as it will rarely be a
good idea. Where methods dispatch is
to be studied, see selectMethod
. For computations
that iterate over methods or over method signatures, see
findMethods
, which returns a linearized methods list
to hold method definitions, usually more convenient for iteration
than the recursive MethodsList
objects.
listFromMlist(mlist, prefix = list(), sigs. = TRUE, methods. = TRUE) linearizeMlist(mlist, inherited = TRUE) finalDefaultMethod(method) loadMethod(method, fname, envir) ##--------- These are all deprecated, since R 3.2.0 ---------- MethodsList(.ArgName, ...) makeMethodsList(object, level=1) SignatureMethod(names, signature, definition) insertMethod(mlist, signature, args, def, cacheOnly) inheritedSubMethodLists(object, thisClass, mlist, ev) showMlist(mlist, includeDefs = TRUE, inherited = TRUE, classes, useArgNames, printTo = stdout() ) ## S3 method for class 'MethodsList' print(x, ...) mergeMethods(m1, m2, genericLabel)
listFromMlist
:Undo the recursive nature of the methods list, making a list of
list(sigs,methods)
of function definitions, i.e. of
matching signatures and methods.
prefix
is the partial signature (a named list of classes)
to be prepended to the signatures in this object. If sigs.
or methods.
are FALSE
, the resulting part of the
return value will be empty.
A utility function used to iterate over all the individual methods in the object, it calls itself recursively.
linearizeMlist
:Undo the recursive nature of the methods list, making a list of function definitions, with the names of the list being the corresponding signatures.
Designed for printing; for looping over the methods, use the above
listFromMlist
instead.
finalDefaultMethod
:The default method or NULL. With the demise of
"MethodsList"
objects, this function only checks that the
value given it is a method definition, primitive or NULL.
loadMethod
:Called, if necessary, just before a call to method
is
dispatched in the frame envir
. The function exists so that
methods can be defined for special classes of objects. Usually
the point is to assign or modify information in the frame
environment to be used evaluation. For example, the standard
class MethodDefinition
has a method that stores the target
and defined signatures in the environment. Class
MethodWithNext
has a method taking account of the
mechanism for storing the method to be used in a call to
callNextMethod
.
Any methods defined for loadMethod
must return the function
definition to be used for this call; typically, this is just the
method
argument.
Chambers, John M. (2008) Software for Data Analysis: Programming with R Springer. (For the R version.)
Chambers, John M. (1998) Programming with Data Springer (For the original S4 version.)