REPL Interativo¶
O comando sloth-runner repl
inicia uma sessão interativa de Read-Eval-Print Loop (REPL). Esta é uma ferramenta poderosa para depuração, exploração e experimentação rápida com os módulos do sloth-runner.
Iniciando o REPL¶
Para iniciar uma sessão, simplesmente execute:
Você também pode pré-carregar um arquivo de workflow para ter suas Modern DSLs
e quaisquer funções auxiliares disponíveis na sessão. Isso é incrivelmente útil para depurar uma pipeline existente.
Funcionalidades¶
Ambiente ao Vivo¶
O REPL fornece um ambiente Lua ao vivo onde você pode executar qualquer código Lua. Todos os módulos embutidos do sloth-runner (aws
, docker
, fs
, log
, etc.) são pré-carregados e prontos para uso.
sloth> log.info("Olá do REPL!")
sloth> resultado = fs.read("README.md")
sloth> print(string.sub(resultado, 1, 50))
Autocompletar¶
O REPL possui um sistema sofisticado de autocompletar. - Comece a digitar o nome de uma variável global ou módulo (ex: aws
) e pressione Tab
para ver as sugestões. - Digite o nome de um módulo seguido por um ponto (ex: docker.
) e pressione Tab
para ver todas as funções disponíveis naquele módulo.
Histórico¶
O REPL mantém um histórico de seus comandos. Use as setas para cima e para baixo para navegar pelos comandos anteriores.
Exemplo de Sessão¶
Aqui está um exemplo de uso do REPL para depurar um comando Docker.
$ sloth-runner repl
Sloth-Runner Interactive REPL
Digite 'exit' ou 'quit' para sair.
sloth> resultado = docker.exec({"ps", "-a"})
sloth> print(resultado.stdout)
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
sloth> -- Agora vamos tentar construir uma imagem
sloth> resultado_build = docker.build({tag="meu-teste", path="./examples/docker"})
sloth> print(resultado_build.success)
true
sloth> exit
Tchau!