Learn R Programming

sloop (version 1.0.1)

s3_dispatch: Illustrate S3 dispatch

Description

s3_dispatch() prints a list of all possible function names that will be considered for method dispatch. There are four possible states:

  • => method exists and is found by UseMethod().

  • -> method exists and is used by NextMethod().

  • * method exists but is not used.

  • Nothing (and greyed out in console): method does not exist.

Learn more at https://adv-r.hadley.nz/s3.html.

Usage

s3_dispatch(call, env = parent.frame())

Arguments

call

Example call to S3 method

env

Environment in which to evaluate call

Examples

Run this code
# NOT RUN {
x <- Sys.time()
s3_dispatch(print(x))
s3_dispatch(is.numeric(x))
s3_dispatch(as.Date(x))
s3_dispatch(sum(x))

# Internal vs. regular generic
x1 <- 1
x2 <- structure(2, class = "double")

my_length <- function(x) UseMethod("my_length")
s3_dispatch(my_length(x1))
s3_dispatch(my_length(x2))

length.double <- function(x) 10
s3_dispatch(length(x1))
s3_dispatch(length(x2))
# }

Run the code above in your browser using DataLab