The names are extracted from sys.call(), and the function is written to be fast (rather than easy to ready for the uninitiated ;-)
list_(...)
Arguments
...: components to make up the resulting list. Their variable names (or unevaluated expressions in the call) will become the names(.) of the result.
Returns
a list with the components in the arguments with names taken from their call to list_(..).
Author(s)
Martin Maechler
See Also
list, names
Examples
a <-1:4; lett <- letters[1:9]; CH <-"Suisse"all.equal(list (a, lett), list_(a, lett))# "names for current but not for target"str(list(a, lett, CH))# [[1]], [[2]], .. (no names)str(list_(a, lett, CH))# $a $lett ..stopifnot(identical( list (a, lett, CH), unname(L <- list_(a, lett, CH))), is.list(L), names(L)== c("a","lett","CH"), identical(lett, L$lett)## etc)## The function is currently defined asfunction(...) `names<-`(list(...), vapply(sys.call()[-1L], as.character,""))