Aprenda a instalar o 8th localmente para resolver os exercícios do Exercism na sua própria máquina
O 8th é distribuído em um arquivo ZIP que inclui tudo, com versões do 8th para todas as plataformas suportadas pela versão que você baixou. Suas versões do 8th têm licença específica para você e não podem ser compartilhadas.
Começando pela página Obtenha o 8th,
Para usar o 8th, você precisa descompactar o arquivo zip em qualquer pasta acessível para você.
O zip inclui várias pastas:
| pasta | descrição |
|---|---|
| bin | executáveis do 8th para todas as plataformas suportadas |
| docs | O manual e os tutoriais |
| libs | Bibliotecas de suporte do 8th (código 8th) |
| samples | Código de exemplo para complementar os tutoriais e o manual |
| keys | O 'id.blob' com suas chaves e informações de registro |
Usuários Pro+: observe que as chaves de criptografia no id.blob são exclusivas para cada versão específica do 8th que você baixar, e são importantes para criar aplicações criptografadas e distribuíveis. Se você mover o 8th para fora do pacote de distribuição e ele não encontrar o id.blob , então ao executar 8th -v ele vai informar custid: id.blob? como um lembrete de que não consegue encontrar as informações de identificação.
Independentemente da plataforma em que você desenvolve, você pode produzir aplicações para qualquer plataforma suportada pelo 8th.
Depois de descompactar o arquivo zip, você pode rodar o 8th diretamente. Por exemplo, se você o instalou em /opt/8th no Linux 64 bits, então você deve conseguir digitar /opt/8th/bin/lin64/8th com os parâmetros que quiser, e ele deve funcionar corretamente. Faça algo parecido no macOS ou no Windows.
Adicionar a pasta do binário do 8th à variável de ambiente PATH do seu sistema permite que você digite simplesmente 8th em vez de digitar o caminho completo até ele.
O 8th em si é um programa de linha de comando: não foi feito para ser iniciado clicando em um ícone na área de trabalho. Você pode criar programas gráficos (GUI) normais com ele, que podem ser iniciados assim, mas o compilador do 8th em si é um programa de CLI (interface de linha de comando).
Se você estiver rodando no Windows e usando um shell MSys ou Cygwin, talvez também precise usar o programa winpty, disponível gratuitamente, para que seus programas em modo console funcionem direito. As versões recentes do Windows 10 não parecem exigir isso.
Se você estiver rodando no MacOS, leia este tópico do fórum do 8th.
A linha de comando do 8th é assim:
8th [options] [[-f] file...] [-e 'code'...]
Onde a opção [-f] file significa “interpretar o conteúdo do arquivo”, e -e code significa “interpretar aquele código 8th específico”. As duas opções podem ser usadas mais de uma vez na linha de comando, e o efeito é cumulativo. Em outras palavras:
8th -f first.8th -f second.8th
vai interpretar o conteúdo do arquivo first.8th e depois interpretar o conteúdo do arquivo second.8th . Observe que, se você quer apenas rodar um arquivo 8th, não precisa escrever 8th -f first.8th , você pode simplesmente digitar 8th first.8th .
Aqui estão todas as opções de CLI que o 8th entende:
| opção | descrição |
|---|---|
| -b | Chama o utilitário bin/build |
| -D dir | define o homedir como dir (o padrão depende do sistema operacional) |
| -e str | Interpreta a string str como código 8th |
| -ee str | Interpreta a string str como código 8th e sai em seguida |
| -f nm | Interpreta o arquivo chamado nm |
| -g | Ativa a depuração/verificação do SED |
| -G | Define a versão de GL necessária (por exemplo, 3.1) |
| -h | Exibe a ajuda |
| -H N | Define o tamanho do histórico do console em N linhas (padrão: 100) |
| -k N | Define os tamanhos das pilhas de dados e r em N itens (padrão: 128K) |
| -l | Mais informações de depuração |
| -r N | Define o tamanho da pilha de dados de callback em N itens (padrão: 256) |
| -s N | Define o tamanho da pilha de recursão em N bytes (padrão: 0, que significa o padrão do sistema) |
| -S | Lista os drivers SDL detectados e sai |
| -v | Imprime a versão do 8th e sai |
| -vv | Igual a -v, mas com informações adicionais para fins de depuração |
| -x | Desativa a verificação de tipo e de limites da pilha |
| -z | Ativa a contagem de itens de dados |
| -Z | Como -z, mas inclui a biblioteca 'debug/allocs' |
| -? nm | Imprime a ajuda do item 'nm' |
| -- | Sinaliza o fim das opções do 8th |
Em geral, você não precisa usar as opções -k , -r ou -s ; elas existem caso você as ache úteis, por exemplo se 128K itens na pilha de uma vez for pouco (para ser sincero, se for esse o caso, você deveria mudar seu algoritmo...).
Se você perceber que usa opções de linha de comando com frequência, pode simplesmente usar um “shell script” (no macOS ou no Linux) ou um “batch file” (no Windows; também chamado de “command file”) para iniciar o 8th com as opções que preferir.
Você também pode criar um arquivo-fonte do 8th na pasta app:datadir , chamado settings.8th . Se ele estiver presente, o REPL do 8th vai carregá-lo na inicialização e imprimir uma mensagem avisando disso. Por motivos de segurança, esse arquivo não é procurado nem carregado em um app empacotado.
Para sair do 8th, faça qualquer uma destas coisas:
bye e pressione ENTER . Isso diz ao 8th para sair normalmente1 die e pressione ENTER . Isso diz ao 8th para sair de forma anormal e retornar o código de status 1 para o sistema operacionalthrow causa uma exceção. Se você estiver rodando a partir do console do 8th, na maioria dos casos você volta para lá; se estiver rodando um arquivo ou uma aplicação empacotada, uma mensagem é impressa e o app é encerrado.O 8th pode rodar seus programas em vários modos:
| modo | descrição |
|---|---|
| interactive | basta iniciar o 8th e digitar seu código no console |
| script | coloque seu código em um arquivo de texto e rode-o usando 8th mycode.8th (por exemplo). Veja a dica abaixo... |
| app | converta seu código em uma aplicação empacotada usando o script de build (ou a opção de CLI -b ) |
Usuários Pro+: você pode criar aplicações criptografadas para ajudar a afastar hackers e outras pessoas mal-intencionadas
Nos dois últimos casos, seu código precisa estar em arquivos de texto simples (por exemplo, não em um formato de editor de texto). Quaisquer arquivos de apoio devem ficar na mesma pasta do seu código, ou em uma subpasta dela. Você pode acessar esses outros arquivos no 8th invocando app:asset .
Um “app” é um programa autônomo que roda sozinho como qualquer outro programa da plataforma de destino, e não precisa ser executado pelo 8th pela linha de comando. O conteúdo pode ser criptografado para ajudar a afastar hackers, como mencionado acima. Os detalhes de como produzir aplicações autônomas estão na seção sobre como usar a ferramenta de build.
Dica: se você estiver rodando no macOS, Linux ou sistemas RPI, você pode fazer seu script rodar como um comando normal do sistema assim:
chmod +x scriptname
#! /usr/bin/env 8th
Isso também funciona com appdata empacotado, então, se você usou bin/build para criar um executável, pode usar o appdata que ele criou da mesma forma fazendo:
cat - path/to/appdata > newappdata
#! /usr/bin/env 8th<ENTER><CTRL+D>
chmod +x newappdata