Sorry, I responded a bit too hastily last night, without testing the two functions properly.
> Brian's is shorter but I think the one in my post is a bit more robust: Indeed! 'f1' only works if at least one of the arguments is named. Otherwise 'nm' is NULL and 'nchar(nm[i])' fails. 'f2' seems to have all combinations covered. Thanks again!! > f1 <- function(...) { + m <- as.list(match.call(expand.dots=TRUE))[-1] + nm <- names(m) + for(i in seq_along(m)) if(!nchar(nm[i])) nm[i] <- deparse(m[[i]]) + nm + } > > f2 <- function(...) { + x <- list(...) + if (is.null(names(x))) names(x) <- "" + names(x)[names(x) == ""] <- NA + mc <- match.call()[-1] + ifelse(is.na(names(x)), as.character(mc), names(x)) + } > > f1(sin, cos) Error in if (!nchar(nm[i])) nm[i] <- deparse(m[[i]]) : argument is of length zero > f2(sin, cos) [1] "sin" "cos" ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. -- View this message in context: http://www.nabble.com/Getting-names-of-objects-passed-with-%22...%22-tf3850318.html#a10922269 Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.