homestuck example r roxygen roxygen2

example - Usando etiquetas de plantilla Roxygen2



r roxygen2 example (1)

¿Podría alguien proporcionar un ejemplo de cómo usar correctamente las etiquetas de plantilla en Roxygen2 ? He intentado hacer lo más obvio (a mí):

En mi archivo packageName-package.R :

#'' [... other Roxygen blocks ...] #'' #'' @templateVar testTemplateTag Testing one two NULL

Luego en un archivo someFunction.R

#'' [... other Roxygen blocks ...] #'' #'' @template testTemplateTag

Me sale el error

Error : Can not find template testTemplateTag

Estoy tratando de tener un lugar para documentar ejemplos de definiciones repetidas, etc. Cuando estas cosas están anidadas dentro de un conjunto de funciones, he estado usando @inheritParms . Pero algunas cosas, como las definiciones y otras descripciones, se usan en varios lugares. He buscado alto y bajo para el uso de @template y @templateVar y no he encontrado nada.

Gracias.


¡Perfecto! Gracias @hadley. La versión de GitHub de plyr fue el ejemplo perfecto.

Describiré el proceso aquí para futuros desbordamientos.

Usando plantillas con Roxygen2

1) Debes crear una carpeta para guardar tus plantillas: man-roxygen/

2) Cada plantilla es un archivo .R que vive en man-roxygen/

Por ejemplo: man-roxygen/someTemplate.R

#'' ... [other roxygen2 tags and information] ... #'' #'' @param someParm A parameter that is used in several functions. #'' #'' ... [more roxygen2 tags and information] ...

3) Ahora, en algún otro bloque roxygen2 , puede llamar a todo ese código roxygen2 esta manera.

#'' ... [other roxygen2 tags and information] ... #'' #'' @template someTemplate

4) Cuando usa la plantilla, obtiene todo en el archivo someTemplate.R .

Echa un vistazo al paquete plyr en GitHub para ver la forma inteligente en que Hadley usa varios archivos de plantilla almacenados en man-roxygen/ que puede mezclar y combinar para crear la documentación. Mira lo siguiente para obtener la idea:

Busque el uso de @template en estos archivos:

R/aaply.r R/adply.r

Mira las plantillas aquí:

man-roxygen/ply.r man-roxygen/a-.r man-roxygen/-a.r man-roxygen/-d.r