Roxygen2を使用してS4クラススロットを適切に文書化する方法は?
質問
roxygen(2)を使用してクラスを文書化する場合、タイトルと説明/詳細を指定することは、関数、メソッド、データなどの場合と同じように見えます。ただし、スロットと継承は独自の種類の動物です。 roxygen2のS4クラスを文書化するためのベストプラクティス(現在または計画中)は何ですか?
デューデリジェンス:
roxygenの初期の説明で@slot
タグについての言及を見つけました。
2008R-forgeメーリングリストの投稿
これが死んでいることを示しているようです、
そして、roxygenの@slot
のサポートはありません:
要約すると、roxygen(2)スロットの現在のベストプラクティスは何ですか?
解決 3
roxygen2 v4.1 +およびこれを行うためのHadleyの最新のドキュメント:
http://r-pkgs.had.co.nz/man.html#man-classes
RCではまだ試していませんが、S4では機能します。
以前
S4クラススロットはRoxygen2バージョン3.0以降で完全にサポートされているようです:
http://blog.rstudio.org/2013/ 12/09 / roxygen2-3-0-0 /
「S4クラス、S4メソッド、RCクラスをroxygen2で文書化します。@alias
と@usage
を使用した回避策を安全に削除し、roxygen2に依存して正しいことを行うことができます。」
他のヒント
Roxygen2 5.0.1の回答を更新し、6.0.1現在
S4の場合、現在のベストプラクティスは、@slot
タグを使用して文書化することです。
ジェネラコディセタグプレ
補足として、@exportClass
が必要なのは一部の場合のみです。関数をエクスポートする一般的な方法は、現在、@export
を使用することです。また、他のパッケージでクラスを拡張できるようにする場合を除いて、クラスをエクスポートする必要はありません。
http://r-pkgs.had.co.nz/も参照してください。 namespace.html#exports
Roygen2 3.0.0の回答を更新し、5.0.1現在。
S4の場合、ベストプラクティスは次の形式のドキュメントです。 ジェネラコディセタグプレ
これは、オブジェクト内のリストとしてのスロットの内部表現と一致しています。ご指摘のとおり、この構文は他の行とは異なります。将来、継承の知識を組み込んだ、より堅牢なソリューションを期待する可能性がありますが、現在は存在しません。
@Brian Diggsが指摘しているように、この機能は3.0.0に組み込まれ、でさらに議論されています。 https://github.com/klutometis/roxygen/pull/85
Rdファイル自体のスロットを文書化する場合は、FullDecentが提供するソリューションで問題ありません。roxygen2
を使用する場合、タグ@section
を使用して、\describe
と基本的に同じことを行うことができます。例:
ジェネラコディセタグプレ