I'm writing wrappers for some functions that change some of the default arguments. I'd rather not list all of the arguments for the low level functions because there are about a dozen wrapper functions, and about 20 arguments to lowlevel. Instead I'm trying something like this:
lowlevel <- function(longname = 1) { cat("longname = ", longname, "\n") } wrapper <- function(...) { newargs <- list(longname = 2) newargs[names(list(...))] <- list(...) do.call("lowlevel", newargs) } This almost works: > wrapper() longname = 2 > wrapper(longname = 3) longname = 3 But it fails if I try to use partial argument matching: > wrapper(long=4) Error in lowlevel(longname = 2, long = 4) : unused argument(s) (long ...) because long isn't matched to longname. Is there a reasonable way to do this (e.g. using pmatch or charmatch) other than listing all the low level arguments in the argument list to wrapper? Duncan Murdoch ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel