AbuseMethod: Dispatcher for high-level API functions
Description
Used for library authors defining very high-level API functions. Not typically
needed for normal development.
Usage
AbuseMethod(fn.name, type, ..., EXPLICIT = FALSE)
Arguments
fn.name
The parent function name. This is just the name of the
original function
type
The target type or a regular value from which the type is derived
...
Arguments to pass to the dispatched function
EXPLICIT
Whether the type is passed in explicitly or not
Value
Returns the result of the dispatched function
Details
This alternative dispatching is for specialized purposes. It allows certain
syntactic sugar not possible in UseMethod when performing method dispatching.
If none of the above made sense, then don't use this function. Otherwise, it
can be useful when defining very high-level functions that define interfaces
for an API.
In the future this function may take on additional functionality to manage
dispatching certain functions based on computer/network architecture.
# Trivial example for pedagogical reasons onlyproduct <- function(...) AbuseMethod('product', ...)
product.numeric <- function(a,b) a * b
product.matrix <- function(a,b) a
product(4,2)