Instalar 8th en local

Aprende a instalar 8th en local para resolver los ejercicios de Exercism en tu propio ordenador


Instalar 8th

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.

Obtener el archivo zip

Partiendo de la página Get 8th,

  • rellena el formulario con tu nombre y tu correo electrónico y selecciona la versión Free. Debes aceptar la licencia de 8th.
  • 8th-dev te enviará un correo electrónico para verificarte. Haz clic en el enlace del correo de registro.
  • 8th-dev te preparará un archivo zip único y te enviará un correo electrónico al respecto. Busca el enlace «download here» en ese correo.

Cómo instalar

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.

Usar 8th

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:

  • Escribe bye y pulsa ENTER . Eso le indica a 8th que salga con normalidad
  • Escribe 1 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 1
  • Pulsa la tecla Ctrl+C dos veces seguidas rápidamente, o Ctrl+D una vez. Cualquiera de las dos cosas le indica a 8th que salga de inmediato
  • En una aplicación en ejecución, invocar throw 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á.

Ejecutar programas de 8th

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:

  • Haz que el archivo sea ejecutable: chmod +x scriptname
  • Pon como primera línea de tu código: #! /usr/bin/env 8th
  • Asegúrate de que un ejecutable de 8th adecuado esté en tu PATH

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