Aprende a instalar 8th en local para resolver los ejercicios de Exercism en tu propio ordenador
8th se distribuye en un único archivo ZIP que lo incluye todo, con versiones de 8th para todas las plataformas compatibles con la versión que hayas descargado. Tus versiones de 8th tienen una licencia específica para ti y no se pueden compartir.
Partiendo de la página Get 8th,
Para usar 8th, tendrás que descomprimir el archivo zip en cualquier carpeta a la que tengas acceso.
El zip incluye varias carpetas:
| carpeta | descripción |
|---|---|
| bin | ejecutables de 8th para todas las plataformas compatibles |
| docs | el manual y los tutoriales |
| libs | bibliotecas de soporte de 8th (código de 8th) |
| samples | código de ejemplo para complementar los tutoriales y el manual |
| keys | el archivo «id.blob» con tus claves y tu información de registro |
Usuarios de Pro+: ten en cuenta que las claves de cifrado del id.blob son exclusivas de cada versión concreta de 8th que descargues y son importantes para compilar aplicaciones cifradas y desplegables. Si mueves 8th fuera de su paquete de distribución y no encuentra id.blob , al ejecutar 8th -v verás que informa de custid: id.blob? como recordatorio de que no encuentra la información de identificación.
Independientemente de la plataforma en la que desarrolles, puedes crear aplicaciones para cualquier plataforma compatible con 8th.
Una vez descomprimido el archivo zip, puedes ejecutar 8th directamente. Por ejemplo, si lo instalaste en /opt/8th en Linux de 64 bits, deberías poder escribir /opt/8th/bin/lin64/8th con los parámetros que quieras y funcionará correctamente. Haz algo similar en macOS o Windows.
Si añades la carpeta del binario de 8th a la variable de entorno PATH de tu sistema, podrás escribir simplemente 8th en lugar de la ruta completa hasta él.
8th es en sí mismo un programa de línea de comandos: no está pensado para iniciarse haciendo clic en un icono del escritorio. Con él puedes crear programas normales con interfaz gráfica que sí se inicien así, pero el compilador de 8th es un programa de interfaz de línea de comandos (CLI).
Si trabajas en Windows y usas un shell de MSys o Cygwin, es posible que además necesites el programa winpty, disponible gratuitamente, para que tus programas en modo consola funcionen correctamente. Las versiones recientes de Windows 10 parece que ya no lo necesitan.
Si trabajas en macOS, lee este hilo del foro de 8th.
La línea de comandos de 8th tiene este aspecto:
8th [options] [[-f] file...] [-e 'code'...]
Donde la opción [-f] file significa «interpretar el contenido del archivo», y -e code significa «interpretar ese código de 8th concreto». Ambas opciones pueden indicarse más de una vez en la línea de comandos, y el efecto es acumulativo. Es decir:
8th -f first.8th -f second.8th
interpretará el contenido del archivo first.8th y después el contenido del archivo second.8th. Ten en cuenta que, si solo quieres ejecutar un archivo de 8th, no hace falta escribir 8th -f first.8th , basta con escribir 8th first.8th .
Estas son todas las opciones de línea de comandos que entiende 8th:
| opción | descripción |
|---|---|
| -b | invoca la utilidad bin/build |
| -D dir | establece el directorio home en dir (el valor predeterminado depende del sistema operativo) |
| -e str | interpreta la cadena str como código de 8th |
| -ee str | interpreta la cadena str como código de 8th y sale después |
| -f nm | interpreta el archivo llamado nm |
| -g | activa la depuración y la comprobación de SED |
| -G | establece la versión de GL necesaria (p. ej. 3.1) |
| -h | muestra la ayuda |
| -H N | establece el tamaño del historial de la consola en N líneas (predeterminado: 100) |
| -k N | establece el tamaño de las pilas de datos y r en N elementos (predeterminado: 128K) |
| -l | más información de depuración |
| -r N | establece el tamaño de la pila de datos de retorno de llamada en N elementos (predeterminado: 256) |
| -s N | establece el tamaño de la pila de recursión en N bytes (predeterminado: 0, que significa el valor predeterminado del sistema) |
| -S | lista los controladores SDL detectados y sale |
| -v | muestra la versión de 8th y sale |
| -vv | igual que -v, pero con información adicional para depurar |
| -x | desactiva la comprobación de tipos y de límites de la pila |
| -z | activa el recuento de elementos de datos |
| -Z | como -z, pero incluye la biblioteca «debug/allocs» |
| -? nm | muestra la ayuda del elemento «nm» |
| -- | indica el final de las opciones de 8th |
Por lo general no deberías necesitar las opciones -k , -r o -s; se incluyen por si te resultan útiles, por ejemplo si 128K elementos a la vez en la pila son demasiado pocos (la verdad es que, si es tu caso, deberías cambiar tu algoritmo...).
Si ves que usas a menudo modificadores de línea de comandos, puedes usar simplemente un «script de shell» (en macOS o Linux) o un «archivo por lotes» (en Windows; también llamado «archivo de comandos») para iniciar 8th con las opciones que prefieras.
También puedes crear un archivo de código de 8th en la carpeta app:datadir, llamado settings.8th . Si está presente, el REPL de 8th lo cargará al iniciarse e imprimirá un mensaje en ese sentido. Por motivos de seguridad, ese archivo no se buscará ni se cargará en una aplicación empaquetada.
Para salir de 8th, haz cualquiera de estas cosas:
bye y pulsa ENTER . Eso le indica a 8th que salga con normalidad1 die y pulsa ENTER . Eso le indica a 8th que salga de forma anómala y devuelva al sistema operativo el código de estado 1throw provocará una excepción. Si la ejecutas desde la consola de 8th, en la mayoría de los casos volverás a ella; si ejecutas un archivo o una aplicación empaquetada, se imprimirá un mensaje y la aplicación finalizará.8th puede ejecutar tus programas de varias formas:
| modo | descripción |
|---|---|
| interactivo | inicia 8th y escribe tu código en la consola |
| script | pon tu código en un archivo de texto y ejecútalo con 8th mycode.8th (por ejemplo). Consulta el consejo de abajo... |
| app | convierte tu código en una aplicación empaquetada con el script de compilación (o la opción -b de la línea de comandos) |
Usuarios de Pro+: puedes crear aplicaciones cifradas que ayuden a disuadir a los hackers y a otros indeseables
En los dos últimos casos, tu código debe estar en archivos de texto sin formato (no en un formato de procesador de textos, por ejemplo). Los archivos complementarios deben colocarse en la misma carpeta que tu código o en una subcarpeta de esta. Puedes acceder a esos otros archivos desde 8th invocando app:asset .
Una «app» es un programa independiente que se ejecuta por sí solo como cualquier otro programa de la plataforma de destino y que no necesita que 8th lo ejecute desde la línea de comandos. Su contenido puede cifrarse para ayudar a disuadir a los hackers, como se ha mencionado antes. Los detalles sobre cómo crear aplicaciones independientes están en la sección sobre el uso de la herramienta de compilación.
Consejo: si trabajas en macOS, Linux o sistemas RPI, puedes hacer que tu script se ejecute como un comando normal del sistema de la siguiente manera:
chmod +x scriptname
#! /usr/bin/env 8th
Esto también funcionará con appdata empaquetado, así que si usaste bin/build para crear un ejecutable, puedes usar de la misma manera el appdata que generó:
cat - path/to/appdata > newappdata
#! /usr/bin/env 8th<ENTER><CTRL+D>
chmod +x newappdata