| dots {base} | R Documentation |
..1, etc used in Functions... and ..1, ..2 etc are used to refer to
arguments passed down from a calling function. These (and the
following) can only be used inside a function which has
... among it formal arguments.
...elt(n) is a functional way to get ..<n> and
basically the same as eval(paste0("..", n)), just more elegant
and efficient.
Note that switch(n, ...) is very close, differing by returning
NULL invisibly instead of an error when n is zero or
too large.
...length() returns the number of expressions in ....
This is the same as length(list(...)) but without evaluating
the expressions in ... (which happens with list(...)).
...length() ...elt(n)
n |
a positive integer, not larger than the number of expressions
in ..., which is the same as |
... and ..1, ..2 are reserved words in
R, see Reserved.
For more, see the Introduction to R manual for usage of these syntactic elements, and dotsMethods for their use in formal (S4) methods.
tst <- function(n, ...) ...elt(n) tst(1, pi=pi*0:1, 2:4) ## [1] 0.000000 3.141593 tst(2, pi=pi*0:1, 2:4) ## [1] 2 3 4 try(tst(1)) # -> Error about '...' not containing an element. tst.dl <- function(x, ...) ...length() tst.dl(1:10) # 0 (because the first argument is 'x') tst.dl(4, 5) # 1 tst.dl(4, 5, 6) # 2 namely '5, 6' tst.dl(4, 5, 6, 7, sin(1:10), "foo"/"bar") # 5. Note: no evaluation!