가변 길이 인자

    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
    
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.