私は、次のように関数を引数として受け取る関数「F」を定義するために探しています:評価せずに、関数呼び出しと関数の引数を受け取るRの関数を定義し、それ
f <- function(c,z(...))
{
print(c)
z(...)
}
、このような場合は、その私は定義:
f1 <- function(a)
{
print(a)
}
f2 <- function(a,b)
{
print(a)
print(b)
}
私は次のように 'F' を呼び出すことができます。
f(1,f1(2))
1
2
f(1,f2(2,3))
1
2
3
私はそれを認識していF「を定義することができM 『』は、この方法:
f <- function(c,z,...)
{
print(c)
z(...)
}
と呼んで 『F』:
f(1,f1,2)
f(1,f2,1,2)
が、1つの関数呼び出しに見ることによって言うことができないので、これは読みにくくであるF1/2関数の引数であり、次の引数がその特定の関数によって使用されます。これは、あなたが何をすべきかである
おかげ
おかげで、これは私の要件に対処します。 f(1、f1(2,3)) - 内部関数の引数は、関数の内部で使用され、関数の先頭では使用されない場合にのみ生成されるという一般的な意味ですか? 2番目の呼び出しf(4、f1)(5,6)について - 内部関数を適用すると機能しません。エラーメッセージ: "FUN(newX [、i]、...)のエラー:非関数を適用しようとしました"ここに修正がありますか? – kamashay