Una versión HTML de esta documentación puede ser encontrada en https://docs.perl6.org/. Esta es la documentación recomendada.
También hay disponible un comando para la terminal: "p6doc".
(Si estás buscando el repositorio en GitHub, la mayoría de los archivos no serán mostrados correctamente, ya que esto es Raku Pod6, y GitHub asume que es Perl Pod).
Este módulo está disponible en el ecosistema de módulos de Raku. Usa:
$ zef install p6doc
para instalar los binarios y añadirlo a tu path.
Cuando tengas perl6
(Rakudo) añadido al PATH
, ejecuta
$ ./bin/p6doc Str
para ver la documentación para la clase Str
, o
$ ./bin/p6doc Str.split
para ver la documentación del método split
de la clase Str
. Puedes
omitir ./bin
si lo has instalado mediante zef
.
También puedes hacer
$ p6doc -f slurp
para buscar la documentación estándar de funciones. Dependiendo de la velocidad de tu disco duro y de la versión de Rakudo, es posible que tarde unos minutos.
Instala las dependencias ejecutando lo siguiente en el directorio correspondiente:
$ zef --deps-only install .
Si usas rakubrew
en modo shim
, ejecuta también:
$ rakubrew rehash
para actualizar los correctores de compatibilidad de los ejecutables instalados.
Aparte de las dependencias de Raku, necesitas tener graphviz
instalado. En Debian
lo puedes instalar mediante:
$ sudo apt-get install graphviz
Para generar las páginas webs de la documentación, simplemente ejecuta:
$ make html
Ten en cuenta que debes tener instalado nodejs
para producir el contenido HTML con el anterior comando, en particular,
node
debería estar en tu PATH
.
Cuando las páginas hayan sido generadas, puedes verlas localmente
en tu ordenador ejecutando el programa app.pl
:
$ make run
Una vez hecho lo anterior, puedes ver la documentación de ejemplo dirigiéndote a http://localhost:3000 en tu navegador.
Necesitarás, por lo menos, tener Mojolicious instalado. Además precisarás nodejs para activar el resaltado. También hay módulos adicionales que podrías necesitar, instálalos ejecutando:
$ cpanm --installdeps .
Raku no es un lenguaje de programación pequeño, y documentarlo requiere mucho esfuerzo. Cualquier ayuda es bienvenida.
Algunas maneras en las que puedes ayudarnos:
- Añadiendo documentación de clases, roles, métodos u operadores.
- Añadiendo ejemplos de uso a la documentación existente.
- Revisando y corrigiendo la documentación.
- Abriendo issues en GitHub si consideras que falta documentación.
- Haciendo
git grep TODO
en este repositorio, y reemplazando los items TODO con documentación.
Esta página tiene una lista de issues actuales y partes de la documentación que faltan. El documento CONTRIBUTING explica brevemente cómo empezar a contribuir.
P: ¿Por qué no estáis incluyendo la documentación en el código fuente del CORE?
R: Debido a varias razones:
-
Esta documentación pretende ser universal con respecto a una versión dada de una especificación, y no necesariamente estar atada a una implementación específica de Raku.
-
El tratamiento que las implementaciones hacen de Pod6 es todavía un poco inconsistente; esto evita impactos potenciales en el tiempo de ejecución.
-
Un repo separado en la cuenta de Raku de GitHub invita a más contribuidores y editores a participar.
P: ¿Debería incluir los métodos de las superclases o de los roles?
A: No. La versión en HTML ya los incluye, y el script p6doc
también.
Quiero que p6doc y docs.perl6.org lleguen a ser el recurso número 1 para consultar cualquier característica de Raku, ya sea del lenguaje o de sus tipos y rutinas. Quiero que sea útil para todo programador de Raku.
-- moritz
- Poner
RAKU_DOC_TEST_VERBOSE
atrue
para mostrar mensajes durante la ejecución del conjunto de tests. Práctico para depurar un test suite que falla. RAKU_DOC_TEST_FUDGE
cambia los ejemplos de códigoskip-test
a TODO en el testxt/examples-compilation.t
.
El código en este repositorio está disponible bajo la Artistic License 2.0 como lo publicó la Perl Foundation. Ver el fichero LICENSE para ver el texto completo.
Este repositorio también contiene código de terceros que podría tener otra licencia, en cuyo caso indican al principio de los mismos el copyright y sus términos de licencia. Actualmente incluyen:
- Ejemplos de StackOverflow Licencia MIT; (ref #1 for 1f7cc4e)
- Table sorter plugin from https://github.com/christianbach/tablesorter ; Licencia MIT