가변 길이 인자
R에서 함수들의 도움말을 살펴보면 ‘…’을 인자 목록에 적은 경우를 종종 볼 수 있다. …은 개수를 알 수 없는 임의의 인자를 표현하는 데 사용하기도 하고, 내부에서 호출하는 다른 함수에 넘겨줄 인자를 표시하는 데도 사용한다.
다음은 가변 인자로 …을 사용한 예다. 함수 f( )에서 …을 인자로 지정한 뒤 이를 하나씩 화면에 출력했다.
> f <- function(...) { + args <- list(...) + for (a in args) { + print(a) + } + } > f('3', '4') [1] "3" [1] "4"
다음은 함수 g( )가 인자 z와 …을 인자로 받아서 인자 z는 자신이 처리하고 나머지 인자들은 함수 f로 넘겨 처리하는 예다. 코드에서 f( )를 호출할 때 마치 명시적인 인자를 넘겨주듯이 …을 인자로 지정했다.
> f <- function(x, y) { + print(x) + print(y) + } > g <- function(z, ...) { + print(z) + f(...) > g(1, 2, 3) [1] 1 [1] 2 [1] 3