How obtaining a characters vector containing the name of the dot-dot-dot arguments passed to a function e.g.:
test<-function(x,y,...)
{
varnames=deparseName(substitute(list(...)))
# deparseName does not exist, this is what I want !
# so that I could *for example* call:
for(elt in varnames)
{print(varnames);}
}
v1=11
v2=10
test(12,12,v1,v2)
## would print
#v1
#v2
You can use deparse
and substitute
to get what you want (see also this Q&A):
test<-function(x, y, ...)
{
varnames=lapply(substitute(list(...))[-1], deparse)
lapply(varnames, print)
return(invisible())
}
test(12,12,v1,v2)
#[1] "v1"
#[1] "v2"