Learn R Programming

S7 (version 0.1.1)

method_explain: Explain method dispatch

Description

method_explain() shows all possible methods that a call to a generic might use, which ones exist, and which one will actually be called.

Note that method dispatch uses a string representation of each class in the class hierarchy. Each class system uses a slightly different convention to avoid ambiguity.

  • S7: pkg::class or class

  • S4: S4/pkg::class or S4/class

  • S3: class

Usage

method_explain(generic, class = NULL, object = NULL)

Value

Nothing; this function is called for it's side effects.

Arguments

generic

A generic function, i.e. an S7 generic, an external generic, an S3 generic, or an S4 generic.

class, object

Perform introspection either with a class (processed with as_class()) or a concrete object. If generic uses multiple dispatch then both object and class must be a list of classes/objects.

Examples

Run this code
foo1 <- new_class("foo1")
foo2 <- new_class("foo2", foo1)

add <- new_generic("add", c("x", "y"))
method(add, list(foo2, foo1)) <- function(x, y) c(2, 1)
method(add, list(foo1, foo1)) <- function(x, y) c(1, 1)

method_explain(add, list(foo2, foo2))

Run the code above in your browser using DataLab