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