Я не настолько большой парень из ООП, так что кто-то может объяснить эту простую концепцию в условиях непрофессионала.Как здесь передаются параметры R?
Когда я вызываю foo.child из функции foo.parent, он, кажется, передает аргумент A = 7 в объект foo.child и переопределяет или имеет приоритет над аргументом по умолчанию A = 3 в foo.child как и следовало ожидать.
foo.parent <- function(A=7) foo.child(A)
foo.child <- function(A=3) 2+A
foo.parent(A=7)
#[1] 9
Но когда я его экземпляр внутри foo.parent, параметр A = 7 действительно проходит вниз или принудительно экземпляра объекта использовать A = 7; вместо этого он использует параметр дочернего объекта A = 3
foo.child<-function(A=3) 2+A
foo.parent <- function(A=7){
foo.child(A=3)
}
foo.parent(A=7)
#[1] 5
Почему это происходит? И какую терминологию я бы использовал для описания различий?
'foo.parent <-function (A = 7) {foo.child (A = 3)}' здесь вы перезаписываете 'A' в' foo.parent'. – Roland