Node.js Intermediário: Parte I ─ Interpretador Interativo de Comandos (REPL)
Acesso Rápido
- Node.js REPL: Uma Introdução
- Node.js: Confirmando sua presença no sistema
- REPL: Executando e testando algumas funções
- REPL: Descobrindo comandos e métodos
- REPL: Lembrando o último resultado
- REPL: Gravando e carregando seções
- Encerramento
Node.js REPL: Uma introdução
Hoje em dia, a maioria das linguagens de programação oferece algum tipo de suporte para um interpretador interativo de comandos. Geralmente referenciado como REPL, esse recurso tem esse nome devido aos quatro procedimentos que são realizados em sequência, interpretando e executando cada um dos comandos que são progressivamente digitados pelo usuário.
Essa sigla representa as seguintes ações:
- R (read): faz a leitura do que foi digitado pelo usuário na tela do terminal
- E (evaluate): avalia o que foi escrito e, se tudo estiver correto, executa a instrução
- P (print): imprime no terminal o resultado obtido no passo anterior
- L (loop): volta para a primeira etapa (R), repetindo todo o procedimento
O uso desse recurso pode trazer uma série de vantagens:
- Testar diversos aspectos de uma linguagem, sem que seja preciso criar um projeto dedicado unicamente para isso
- Realizar cálculos rápidos, independentemente da sua complexidade, usando somente a linha de comando
- Experimentar novos algoritmos antes de incluí-los no seu projeto
- Ter um divertido playground interativo durante o aprendizado
Node.js: Confirmando sua presença no sistema
Para poder acompanhar essa série, será preciso ter o Node.js instalado no seu sistema.
Fazer esse teste é simples: ao abrir a tela do terminal, digite o seguinte comando: node -v, pressionando ENTER em seguida. Se o Node estiver corretamente instalado, será exibido o número da sua versão, como demonstrado abaixo.
Se aparecer uma mensagem de erro, será preciso seguir os passos listados no site oficial para instalar a última versão do Node no seu sistema.
REPL: Executando e testando algumas funções
Para executar o interpretador interativo de comandos do Node.js, basta digitar o seguinte comando no terminal: node.
Um cursor ficará piscando, aguardando a entrada de alguns comandos. Comece com algumas operações matemáticas simples, e observe que os resultados são exibidos assim que a tecla ENTER for pressionada.
Algumas observações:
- Mesmo antes de pressionar a tecla ENTER, o interpretador exibe uma prévia do resultado na linha de baixo. Isso pode ser bastante útil em alguns casos, como quando ainda estamos nos habituando com alguns comandos ou métodos, e podemos ter um preview antes de realmente executá-los
- Não é preciso chamar console.log() para imprimir o resultado na tela: para cada comando executado, a sua saída será automaticamente impressa
- Quando for impresso o termo undefined, isso significa que a instrução executada não gerou nenhuma informação para ser impressa. Isso acontece em vários casos, como, por exemplo, a declaração de uma variável, mas não quer dizer que ela não foi criada, como podemos ver abaixo…
REPL: Descobrindo comandos e métodos
Um dos recursos mais interessantes para quem está aprendendo Node.js usando o REPL é a possibilidade de conhecer todos os comandos disponíveis, assim como todos os métodos de um objeto, a partir de uma simples sequência de teclas: TAB + TAB.
Faça o teste agora: no REPL, pressione TAB TAB, e veja todos os comandos que serão impressos na tela…
Seu uso é poderoso, especialmente quando precisamos lembrar (ou conhecer) os métodos disponíveis para um determinado objeto.
Por exemplo, se tivermos uma variável do tipo String, e gostaríamos de lembrar o nome do método usado para tornar todas as suas letras em maiúsculas, poderíamos usar o recurso do TAB TAB, como demonstrado abaixo…
O procedimento foi esse:
- Criamos uma variável nome, e atribuímos a ela uma String (Eduardo)
- Para obter a relação de todos os métodos que podem ser usados nessa varíável, foi digitado nome. (o nome da variável, seguido de um ponto)
- Ao pressionar a tecla TAB duas vezes, são exibidos todos os métodos aplicáveis à variável
- Para usar qualquer uma das opções listadas, digite as primeiras letras e complete todo o comando, pressionando TAB mais uma vez
REPL: Lembrando o último resultado
Muitas vezes, podemos precisar “lembrar” qual foi o resultado da última operação. Um atalho para obter esse valor é o underscore (_). Basta digitá-lo no terminal e pressionar ENTER para ter acesso a ele, ou até incluí-lo em novas operações, como demonstrado abaixo manipulando valores numéricos e vetores.
REPL: Gravando e carregando seções
Muitas vezes, podemos precisar que algum código criado por nós esteja novamente presente em uma seção do REPL. Em vez de redigitá-lo todas as vezes, é possível gravar uma seção, e carregá-la posteriormente.
Vamos ilustrar com um exemplo:
- Em uma nova seção do REPL, crie uma função que retorne um número aleatório até um limite especificado pelo usuário:
const aleatorio = (maximo) => {
return Math.floor(Math.random() * maximo) + 1;
};
- Salve essa seção, usando o comando .save aleatorio.js (ponto, seguido pelo comando save e o nome do arquivo)
- Teste a função, digitando aleatorio(10)
- Observe que será impresso um valor entre 1 e 10
- Encerre a seção pressionando CTRL-D
- Inicie uma nova seção do REPL
- Teste o mesmo comando do passo 3: observe que ele não funciona, pois essa é uma nova seção cuja função aleatório ainda não foi declarada
- Carregue a seção que foi salva no passo 2, usando o comando .load aleatorio.js (ponto, seguido pelo comando load e o nome do arquivo)
- Teste novamente o comando do passo 3 e veja que, agora, ele está funcionando novamente
No vídeo abaixo, é possível ver cada uma dessas operações sendo realizadas…
Encerramento
Com essa última dica, encerramos a primeira parte da série de tópicos intermediários sobre o Node.js.
Espero que vocês tenham gostado de conhecer um pouco mais sobre o REPL, e qualquer correção, dúvida ou sugestão será muito apreciada. É só deixar um comentário na seção abaixo.
Em breve, nesse mesmo site, a segunda parte dessa série será publicada. Até lá!