Este artigo explica o procedimento para ler as entradas consecutivas com o módulo readline do nodejs.
Como ler entradas consecutivas com o módulo Readline do Node.js?
As entradas consecutivas são aquelas que pegam e armazenam as respostas de múltiplas perguntas ao mesmo tempo de forma sequencial. Essas perguntas consecutivas são feitas principalmente durante a adesão a alguns cursos ou no momento da verificação. Alguns exemplos são apresentados abaixo para a implementação da leitura de entradas consecutivas usando o módulo readline do Node.js.
Exemplo 1: Lendo entradas consecutivas usando o módulo Readline e matrizes
Neste exemplo, as entradas consecutivas são obtidas e lidas usando o “ Leia a linha ”módulo. As entradas são armazenadas no array de onde são exibidas no console:
const Leia a linha = exigir ( 'Leia a linha' ) ;
const readlineInterface = Leia a linha. criarInterface ( {
entrada : processo. stdin ,
saída : processo. saída padrão
} )
const req0 = 'Poderia! Eu sei seu apelido? ;
const req1 = 'Qual é o seu hobby' ;
const req2 = 'O que você gosta de ouvir' ;
const req3 = 'Poderia! Eu sei qual é o seu prato favorito? ;
const req4 = 'Onde você mora?' ;
const req5 = 'Qual a sua cor preferida' ;
const req6 = 'Quem é seu melhor amigo' ;
const reqArr = [ req0, req1, req2, req3, req4, req5, req6 ] ;
deixe res = '' ;
const dados solicitados = x => {
se ( x < reqArr. comprimento ) {
readlineInterface. pergunta ( reqArr [ x ] , ( reqResponse ) => {
resolução += ' \n ' + reqResponse ;
dados solicitados ( x + 1 ) ;
} ) ;
} outro {
console. registro ( `Obrigado para compartilhando comigo ! $ { resolução } ` ) ;
readlineInterface. fechar ( ) ;
}
} ;
dados solicitados ( 0 ) ;
A descrição do código utilizado no trecho de código acima é apresentada abaixo:
- Comece importando o “ Leia a linha ”módulo e armazene seu objeto em uma variável chamada“ Leia a linha ”.
- Em seguida, crie uma interface chamada “ readlineInterface ' para o ' Leia a linha ”Objeto que envolve o processo de entrada e saída padrão usando o“ criarInterface() ”Método. Ele também associa cada solicitação e resposta a um único fluxo de entrada legível e saída gravável usando o “ processo ' propriedade.
- Então, crie sete “ const ”tipo variáveis para armazenar algumas solicitações ou perguntas que precisam ser feitas consecutivamente. Armazene essas constantes em um único array chamado “ reqArr ”.
- Crie uma nova variável vazia “ resolução ”, defina uma função de seta chamada “ dados solicitados ”E passe o parâmetro único de“ x ”.
- Dentro desta função, utilize o “ se ”instrução que verifica se o valor do parâmetro fornecido é menor que o comprimento de“ reqArr ' ou não.
- No caso de verdadeiro, o “ pergunta() ”O método é aplicado à interface e exibe cada solicitação do array na saída sequencialmente. Em seguida, ele passa os valores fornecidos correspondentes como argumento.
- Esses argumentos são armazenados no array já criado “ resolução ”.
- Depois que todas as solicitações forem exibidas sequencialmente no console, a condição “ se ”a declaração fica falsa e no“ outro ”parte, o“ resolução ”array é exibido no console.
- Finalmente, a interface readline também é fechada invocando o “ fechar() ”Método. Além disso, invoque o “ reqData() ”função e passe um valor inicial de“ 0 ”Para iniciar a pergunta do início ou da primeira pergunta disponível na matriz.
Agora, execute este arquivo contendo inserindo o “ nó ”palavra-chave atrás de“ nome do arquivo ”no terminal:
gravação de nó
A saída mostra que o programa leu as entradas consecutivas e retornou todas elas de uma vez:
Exemplo 2: Lendo entradas consecutivas usando o módulo Readline e a função recursiva
No método, a abordagem recursiva é usada com o “ Leia a linha ”Módulo Node.js para ler as entradas consecutivas do usuário no fluxo de entrada:
const ler = exigir ( 'Leia a linha' ) ;
const readlineInterface = ler. criarInterface ( {
entrada : processo. stdin ,
saída : processo. saída padrão
} )
foi reqArr = [ ]
função reqData ( x ) {
se ( x > 3 )
{
var média = 0
para ( j em reqArr )
{
média += Número ( reqArr [ j ] )
}
console. registro ( média / 3 ) ;
}
outro
{
readlineInterface. pergunta ( 'Introduzir o ' + x + 'número de 3:' , função ( reqResponse ) {
reqArr. empurrar ( reqResponse )
dados solicitados ( x + 1 )
} )
}
}
dados solicitados ( 1 ) ;
A explicação para o código acima é descrita abaixo na forma de marcadores:
- Primeiro, importe o “ Leia a linha ”em um recém-criado“ escrever.js ”Arquivo e armazene o objeto do método em um“ ler ' variável. Crie uma interface que armazene o “ Leia a linha ”Interface que é criada através do“ criarInterface() ”Método.
- Agora, crie um array vazio chamado “ reqArr ”E defina o“ reqData() ”função que também aceita um único parâmetro chamado“ x ”.
- A função primeiro verifica se o valor fornecido é maior que “ 3 ' ou não. No caso de verdadeiro, os valores recuperados que vêm no “ x ”A variável é armazenada em um array e adicionada à única variável chamada“ média ”.
- Depois disso, o “ média ”variável é dividida por“ 3 ”para encontrar a média, pois o comprimento do número máximo permitido é“ 3 ”E o resultado é exibido no console.
- Na outra parte, o “ pergunta() ”O método está anexado à interface“ readlineInerface ”. Este método exibe a mensagem no console e define uma função anônima.
- A função aceita os dados de entrada do usuário e adiciona esses dados ao array “ reqArr ”. Também atualiza o valor de “ x ”Cada vez e passa o valor atualizado para o“ reqData() ”função. Isso garantirá que o usuário insira apenas valores menores que três, começando em “ 0 ”. Finalmente, invoque o “ reqData() ”Função para iniciar o processo de execução.
Agora, execute isto contendo o “ escrever.js ”Arquivo inserindo o“ nó ”palavra-chave atrás de“ nome do arquivo ”no terminal:
gravação de nóA saída confirma que entradas consecutivas são lidas e sua média é exibida no console usando a combinação de abordagem recursiva e módulo readline:
Este guia explica o procedimento para ler entradas consecutivas com o módulo readline do Node.js.
Conclusão
Para ler as entradas consecutivas com o módulo readline do Node.js, primeiro importe este módulo em um arquivo de trabalho e crie uma interface usando o “ criarInterface() ”Método. Esta interface invoca o “ pergunta() ”Método. Ele envia solicitações ao usuário consecutivamente e passa as respostas correspondentes de cada solicitação para a função de retorno de chamada para aplicar algumas operações de acordo com os requisitos. Você aprendeu o processo de leitura de entradas consecutivas usando o módulo readline.