Instalar 8th localmente

Aprende a instalar 8th localmente para resolver los ejercicios de Exercism en tu propia computadora


Instalación de 8th

8th se distribuye en un archivo ZIP que lo incluye todo, y que contiene versiones de 8th para todas las plataformas que admite la versión que descargaste. Tus versiones de 8th tienen una licencia específica para ti y no se pueden compartir.

Obtén el archivo zip

A partir de la página Get 8th,

  • completa 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 para verificarte. Haz clic en el enlace del correo de registro.
  • 8th-dev armará un archivo zip único para ti y te enviará un correo al respecto. Busca el enlace «download here» en ese correo.

Cómo instalar

Para usar 8th, debes 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 admitidas
docs el manual y los tutoriales
libs bibliotecas de soporte de 8th (código de 8th)
samples código de ejemplo que complementa los tutoriales y el manual
keys el 'id.blob' que contiene tus claves y tu información de registro

Usuarios Pro+: ten en cuenta que las claves de cifrado del id.blob son únicas para cada versión específica 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 , entonces si ejecutas 8th -v mostrará custid: id.blob? como recordatorio de que no encuentra la información de identificación.

Sin importar la plataforma en la que desarrolles, puedes producir aplicaciones para cualquier plataforma que admita 8th.

Una vez que hayas 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 debería funcionar correctamente. Haz algo similar en macOS o Windows.

Agregar la carpeta del binario de 8th a la variable de entorno PATH de tu sistema te permitirá escribir simplemente 8th en lugar de toda la ruta hasta él.

Usar 8th

8th en sí es un programa de línea de comandos. No está pensado para iniciarse haciendo clic en un icono del escritorio. Con él puedes crear programas con interfaz gráfica (GUI) normales que sí se pueden iniciar así, pero el compilador de 8th en sí es un programa de interfaz de línea de comandos (CLI).

Si usas Windows y trabajas con un shell de MSys o Cygwin, es posible que también necesites el programa winpty, disponible de forma gratuita, para que tus programas en modo consola funcionen bien. Las versiones recientes de Windows 10 no parecen necesitarlo.

Si usas MacOS, lee este hilo del foro de 8th.

La línea de comandos de 8th se ve así:

8th [options] [[-f] file...] [-e 'code'...]

Donde la opción [-f] file significa «interpreta el contenido del archivo», y -e code significa «interpreta ese código de 8th específico». Ambas opciones se pueden indicar más de una vez en la línea de comandos, y el efecto es acumulativo. En otras palabras:

8th -f first.8th -f second.8th

interpretará el contenido del archivo first.8th y después interpretará el contenido del archivo second.8th . Ten en cuenta que si solo quieres ejecutar un archivo de 8th, no necesitas escribir 8th -f first.8th , puedes escribir directamente 8th first.8th .

Estas son todas las opciones de la CLI que entiende 8th:

opción descripción
-b invoca la utilidad bin/build
-D dir establece el directorio principal 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 luego sale
-f nm interpreta el archivo llamado nm
-g habilita la depuración/verificación de SED
-G establece la versión de GL requerida (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 los tamaños de la pila de datos y de la pila 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 devolución 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 enumera los controladores SDL detectados y sale
-v imprime la versión de 8th y sale
-vv igual que -v pero con información adicional para depuración
-x desactiva la verificación de tipos y límites de la pila
-z activa el conteo de elementos de datos
-Z como -z, pero incluye la biblioteca 'debug/allocs'
-? nm imprime la ayuda para el elemento 'nm'
-- indica el final de las opciones de 8th

En general no deberías necesitar las opciones -k, -r o -s; se incluyen por si te resultan útiles, por ejemplo si 128K elementos en la pila a la vez son demasiado pocos (siendo honestos, deberías cambiar tu algoritmo si ese es el caso...).

Si te das cuenta de que usas mucho los modificadores de la línea de comandos, puedes simplemente usar un «shell script» (en macOS o Linux) o un «batch file» (en Windows; también llamado «command file») para iniciar 8th con las opciones que prefieras.

También puedes crear un archivo fuente de 8th en la carpeta app:datadir , llamado settings.8th . Si está presente, el REPL de 8th lo cargará al iniciarse y mostrará un mensaje al respecto. Por razones 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 de forma normal
  • Escribe 1 die y pulsa ENTER . Eso le indica a 8th que salga de forma anormal y devuelva el código de estado 1 al sistema operativo
  • Pulsa la tecla Ctrl+C dos veces seguidas rápido, o Ctrl+D una vez. Cualquiera de las dos le indica a 8th que salga de inmediato
  • En una aplicación en ejecución, invocar throw provocará una excepción. Si estás ejecutando desde la consola de 8th, en la mayoría de los casos volverás a ella; si estás ejecutando un archivo o una aplicación empaquetada, se mostrará un mensaje y se cerrará la aplicación.

Ejecutar programas de 8th

8th puede ejecutar tus programas en varios modos:

modo descripción
interactivo simplemente 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). Mira el consejo de abajo...
app convierte tu código en una aplicación empaquetada con el script build (o la opción -b de la CLI)

Usuarios Pro+: puedes crear aplicaciones cifradas que ayudan a disuadir a hackers y a otras personas malintencionadas

En los dos últimos casos, tu código debe estar en archivos de texto sin formato (por ejemplo, no en un formato de procesador de textos). Los archivos de apoyo deben colocarse en la misma carpeta que tu código, o en una subcarpeta de ella. Puedes acceder a esos otros archivos en 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 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 mencionó antes. Los detalles para producir aplicaciones independientes están en la sección sobre cómo usar la herramienta build.

Consejo: si usas macOS, Linux o sistemas RPI, puedes hacer que tu script se ejecute como un comando normal del sistema así:

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

Esto también funciona con appdata empaquetado, así que si usaste bin/build para crear un ejecutable, puedes usar el appdata que creó de la misma manera haciendo:

cat - path/to/appdata > newappdata
#! /usr/bin/env 8th<ENTER><CTRL+D>
chmod +x newappdata