2016-12-01 7 views
2

Rの引数を非推奨にする標準的な方法はありますか?引数を非難する方法は?

例:Web APIパッケージの場合は、これまですべての結果にページ区切りをつけてすべてをダウンロードする引数をpaging=TRUEに含めました。

今度はlimit引数を持ち、limit=0に設定されている場合はすべてをダウンロードする必要があります。これは実質的にはpaging引数の必要性を排除するので、私は人々に今は基本的に何もしないようにする必要があります。それ、どうやったら出来るの?

+1

lme4の作成者の例に従えます。彼らは今、パラメータの名前を変更し続けているので、ある日は廃止されるかもしれない3つのパラメータを持っています:http://search.r-project.org/R/library/lme4/html/predict.merMod.html – Roland

+2

もっと明確にするために、 'limit = if(ページング)0 else theDefault'を実行し、ドキュメンテーションで' paging'パラメータを使用すべきでないと言ってください。もしあなたがこれについて強く感じるなら、 '警告'や 'メッセージ'を提供することもできます。 – Roland

答えて

1

次のようなものが多分あなたのためにしますか?

foo <- function(paging = T, limit = 0) { 
    if (!missing("paging")) 
    warning("argument deprecated") 
} 

例出力:

# > foo() 
# > foo(limit = 0) 
# > foo(T) 
# Warning message: 
# In foo(T) : argument deprecated 
# > foo(paging = T) 
# Warning message: 
# In foo(paging = T) : argument deprecated 

@Rolandが指摘するように、それはまた、引数が廃止された機能のドキュメントで言及されるべきです。

+1

メッセージに 'print'を使わないでください。それはユーザーによって抑圧することはできません。 – Roland

+0

本当に良い点 –

関連する問題