Использование «…» и «replicate»

В документации sapply и replicate есть предупреждение относительно использования ...

Теперь, Я могу принять это как таковое, но хотел бы понять, что за этим стоит. Итак, я создал этот небольшой надуманный пример:

innerfunction<-function(x, extrapar1=0, extrapar2=extrapar1)
{
    cat("x:", x, ", xp1:", extrapar1, ", xp2:", extrapar2, "\n")
}

middlefunction<-function(x,...)
{
    innerfunction(x,...)
}

outerfunction<-function(x, ...)
{
    cat("Run middle function:\n")
    replicate(2, middlefunction(x,...))
    cat("Run inner function:\n")
    replicate(2, innerfunction(x,...))
}

outerfunction(1,2,3)
outerfunction(1,extrapar1=2,3)
outerfunction(1,extrapar1=2,extrapar2=3)

Возможно, я сделал что-то очевидно ужасно неправильное, но результат этого меня довольно расстраивает. Так может ли кто-нибудь объяснить мне, почему во всех вышеупомянутых вызовах внешней функции я получаю следующий результат:

Run middle function:
x: 1 , xp1: 0 , xp2: 0 
x: 1 , xp1: 0 , xp2: 0 
Run inner function:
x: 1 , xp1: 0 , xp2: 0 
x: 1 , xp1: 0 , xp2: 0

Как я уже сказал: кажется, что документы предупреждают об этом, но я не понимаю, почему это это так.

19
задан Robotski 7 August 2015 в 05:04
поделиться