既存のパッケージを引き継いでいます。Rが関数を明示的にエクスポートする必要がある前に、パッケージは.Rdドキュメントで作成されました。
私の最初のステップは、Rd2roxygenを使用してドキュメントをroxygenに変換することでした(このパッケージを提供してくれたYihuiとHadleyに感謝します!)。
ただし、関数がエクスポートされないため、パッケージは機能しません。デフォルトですべての関数をエクスポートしたいだけです。この時点で、私の一般的なアプローチは、各関数で見つかる正規表現を識別し(##' @return
適切なターゲットになる)、 ##' @export
その上の行に挿入することであるように思われます。
擬似コードの場合:
for all files in the `R/` directory{
for each line starting in `##' @return`{
insert `##' @export` in the preceeding line
}}
結果は次のようになります。
##' @return something
と
##' @export
##' @return something that varies with each function
関数のリストを取得してNAMESPACEに追加すると、各関数の上のroxygenコードにないdevtools::document("mypackage")
場合は上書きされるため、機能しません。@export
質問:パッケージ内の各関数のroxygenドキュメントに@exportを追加する最も効率的な方法は何でしょうか?
さらに良い代替策は、それに応じて、NAMESPACE
および解析export
とmethod
ステートメントを解析することです。