Como ler entradas consecutivas com o módulo Readline do Node.js?

Como Ler Entradas Consecutivas Com O Modulo Readline Do Node Js



O ' Leia a linha ”O módulo Node.js é ideal para uso em cenários onde mais de uma entrada consecutiva precisa ser obtida do usuário final. Este módulo envolve a saída e a entrada padrão, o que ajuda na leitura do fluxo de entrada linha por linha, sem pular nenhum dado recebido. Com a chegada do “ Leia a linha ”Módulo, o procedimento de recuperação dos dados em tempo real fica muito mais fácil e rápido.

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 “ ”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“ ”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.