Adding ...
to an S3 generic allows methods to take additional
arguments, but it comes with a big downside: any misspelled or extraneous
arguments will be silently ignored. This package explores an approach to
making ...
safer, by supply a function that a generic can use to warn
if any elements of ...
were not evaluated.
In the long run, this code is likely to live elsewhere (maybe R-core might be interested in making it part of base R). This repository tracks the current state of the experiment.
Thanks to Jenny Bryan for the idea, and Lionel Henry for the heart of the implementation.
devtools::install_github("hadley/ellipsis")
safe_median()
works like median()
but warns if any elements of ...
are never evaluated
library(ellipsis)
x <- c(1:10, NA)
safe_median(x)
#> [1] 5.5
safe_median(x, TRUE)
#> Warning: Some components of ... were not used: ..1
#> [1] 5.5
safe_median(x, na.rm = TRUE)
#> [1] 5.5
safe_median(x, na.mr = TRUE)
#> Warning: Some components of ... were not used: na.mr
#> [1] 5.5