名前付きのパラメータを持つ関数f()があります。それは関数g()を呼び出し、すべてのfのパラメータを渡したいと思います。これは可能ですか?それらの値をすべての関数引数にアクセスするR
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);
は、私は()ホルマールを考えた答えだったが、単に引数名のようです、ではない:
使用して...ちょうど余分な引数をカバー!
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);
可能ですか?ありがとう。
は、これがどのように行われるかを確認するlm'と '' glm'のコードを見てください。 –
@HongOoiありがとう;それはmatch.callで行われます(つまり、Antonの答えと同じですが).IIUCはすべての引数ではなく、特定の引数を渡すことを選択します。 –