Learn R Programming

futile.paradigm (version 2.0.4)

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, ALWAYS = TRUE)

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
ALWAYS
Whether a default function should be called if all else fails

Value

no default function will be called. Instead, an error message is printed. In certain circumstances this fail-fast behavior is preferred over the default lenient behavior.

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.

See Also

UseMethod, UseFunction

Examples

Run this code
# Trivial example for pedagogical reasons only
product <- function(...) AbuseMethod('product', ...)

product.numeric <- function(a,b) a * b
product.matrix <- function(a,b) a 

product(4,2)

Run the code above in your browser using DataLab