Clojure - REPL

REPL (loop read-eval-print) é uma ferramenta para experimentar o código Clojure. Ele permite que você interaja com um programa em execução e teste rapidamente se as coisas funcionam como deveriam. Ele faz isso apresentando um prompt onde você pode inserir o código. Ele então lê sua entrada, avalia, imprime o resultado e faz um loop, apresentando a você um prompt novamente.

Este processo permite um ciclo de feedback rápido que não é possível na maioria dos outros idiomas.

Iniciando uma Sessão REPL

Uma sessão REPL pode ser iniciada em Leiningen digitando o seguinte comando na linha de comando.

lein repl

Isso iniciará a seguinte janela REPL.

Em seguida, você começa a avaliar os comandos do Clojure na janela REPL conforme necessário.

Para iniciar uma sessão REPL no Eclipse, clique na opção Menu, vá para Executar como → Aplicativo Clojure.

Isso iniciará uma nova sessão REPL em uma janela separada junto com a saída do console.

Conceitualmente, REPL é semelhante ao Secure Shell (SSH). Da mesma forma que você pode usar SSH para interagir com um servidor remoto, Clojure REPL permite que você interaja com um processo Clojure em execução. Este recurso pode ser muito poderoso porque você pode até anexar um REPL a um aplicativo de produção ao vivo e modificar seu programa enquanto ele é executado.

Variáveis ​​especiais em REPL

REPL inclui algumas variáveis ​​úteis, a amplamente utilizada é a variável especial * 1, * 2 e * 3. Eles são usados ​​para avaliar os resultados das três expressões mais recentes.

O exemplo a seguir mostra como essas variáveis ​​podem ser usadas.

user => "Hello"
Hello
user => "World"
World
user => (str *2 *1)
HelloWorld

No exemplo acima, as duas primeiras strings estão sendo enviadas para a janela de saída REPL como “Hello” e “World” respectivamente. Em seguida, as variáveis ​​* 2 e * 1 são usadas para recuperar as 2 últimas expressões avaliadas.