すべて関数内の関数パラメータを取得する方法はありますか?関数内からすべての関数パラメータのリストを取得
match.call()
は、デフォルトは設定されていてもオーバーライドされないパラメータは返されません。たとえば:
xf <- function (a, b="Hi", c=TRUE) {
print(as.list(match.call(expand.dots=FALSE)))
}
>xf(3)
[[1]]
xf
$a
[1] 3
私は、既存の関数を呼び出す関数とパッケージを書いていますが、私は、既存の機能にないデフォルト値を設定できるようにしたいです。 (私はdo.call
で他の関数に渡し、その結果を返す、match.call
からリストを使用して計画された
更新:S3方法に関する興味深い問題を私は新しいS3メソッドを作成し、使用します@ Ferdinand.kraftの答えas.list(environment(), all.names=TRUE)
all.names引数は、.
で始まる名前をリスト内に保持します。メソッドディスパッチは、.Generic
.Class
.Method
などのいくつかの引数を関数環境に追加します。あなたはdo.call
の関数にこれらを渡します。他の答えの1つはソリューションのすべての方が良いかもしれませんが、私はの単純さが好きです。
はありません'argあなたは何をしたいですか? –