私の使用法がデフォルトと一貫して異なるような R 関数がある場合、コードを簡潔にして維持しやすくするために、スクリプトの冒頭で次のようなことを行うのが好きです (この例ではll()
、R.oo
パッケージ):
> formals(ll.default)$private <- T;
これはうまくいきます。ただし、関数が...
引数から読み取る既定のオプションを作成したいと考えています (この例では、引数is.function=F
を既定値に追加し...
、2 番目の正式な引数です)。誰もそれを行う方法を知っていますか? 私は次のことを試しました...
> formals(ll.default)[[2]]$is.function <-F
Error in formals(ll.default)[[2]]$is.function <- F :
argument "*tmp*" is missing, with no default
> formals(ll.default)$`...`$is.function <-F
Error in formals(ll.default)$...$is.function <- F :
argument "*tmp*" is missing, with no default
> formals(ll.default)$`...`<-alist(is.function=F)
> ll()
Error in ll.default() : '...' used in an incorrect context
> formals(ll.default)$`...`<-pairlist(is.function=F)
> ll()
Error in ll.default() : '...' used in an incorrect context
Defaults
パッケージを見ましたが、ドキュメントには次のように書かれています:
現在、 に値を渡すことはできません。. . 引数、元の関数定義で正式に指定された引数のみ
たった1つの引数のためにラッパーを書く以外に、これを達成する方法を知っている人はいますか?