У меня есть функция f(), которая имеет некоторые именованные параметры. Он вызывает функцию g(), и я хочу передать ему все f-параметры. Возможно ли это?
Использование... просто включает дополнительные аргументы:
f=function(a,callback,b,c,d,...){
z=a-b
callback(z,...)
}
g=function(z,...){
print(list(...)) #Only shows $e
print(z) #-1
print(a,b,c,d) #'a' not found
}
f(1,g,2,3,d=4,e=5);
Я думал, что formals() был ответом, но это просто имена аргументов, а не их значения!
f=function(a,callback,b,c,d,...){
z=a-b
callback(z,formals())
}
g=function(z,...){
args=list(...)[[1]]
print(args$a) #(no output)
print(class(args$a)) #"name"
}
f(1,g,2,3,d=4,e=5);
Возможно ли это? Спасибо.