You need to understand what substitute() does -- see ?substitute and/or a tutorial on "R computing on the language" or similar.
Here is a simple example that may clarify: > dots <- function(...) as.list(substitute(...())) > dots(log(foo)) [[1]] log(foo) ## a call, a language object > dots2 <- function(...) as.list(...) > dots2(log(foo)) Error in as.list(...) : object 'foo' not found ## substitute() does not evaluate its argument; as.list() does Cheers, Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Mon, Oct 5, 2020 at 1:37 PM Tim Taylor <tim.tay...@hiddenelephants.co.uk> wrote: > Could someone explain what is happening with the ...() of the > following function: > > dots <- function(...) as.list(substitute(...())) > > I understand what I'm getting as a result but not why. ?dots and > ?substitute leave me none the wiser. > > regards > Tim > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.