Trabalhando com o Módulo Readline
👋 Introdução ao Readline
O módulo Readline é um módulo nativo do Node.js que simplifica a leitura de entradas do usuário de forma interativa. Ele é frequentemente utilizado para criar prompts, coletar respostas dos usuários e construir sessões interativas de perguntas e respostas na interface de linha de comando.
📖 Compreendendo o Módulo Readline
Antes de partir para um exemplo prático, vamos explorar os conceitos principais e os métodos fornecidos pelo módulo Readline.
Criando uma Interface Readline
Para utilizar o módulo Readline, normalmente começamos criando uma interface Readline que gerencia os fluxos de entrada e saída. Veja como criar uma interface:
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
const rlrepresenta a interface Readline;readline.createInterface({ input: process.stdin, output: process.stdout })configura a interface para ler da entrada padrão (process.stdin) e escrever na saída padrão (process.stdout).
Coletando Entrada do Usuário
Depois de criar uma interface Readline, podemos utilizá-la para coletar a entrada do usuário. O método mais comum para esse propósito é o rl.question():
rl.question("Please enter your name: ", (name) => {
// User input is available as `name`
console.log(`Hello, ${name}!`);
rl.close();
});
rl.question("Please enter your name: ", (name) => { ... })solicita ao usuário uma entrada com a mensagem fornecida;- A função de callback
(name) => { ... }é executada quando o usuário insere sua resposta; namecontém a entrada do usuário.
Gerenciando a Interface
É importante fechar a interface Readline quando não for mais necessária. Isso pode ser feito utilizando rl.close().
🔧 Criando um Prompt Interativo
Agora que cobrimos o básico, vamos colocar nosso conhecimento em prática e criar um divertido adivinho de fortuna no terminal. Usuários irão digitar seus nomes e a aplicação irá gerar uma mensagem de sorte aleatória.
Aqui está o exemplo de código apresentado no vídeo:
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
const fortunes = [
"You will find unexpected joy in the little things.",
"A new opportunity will open doors for you.",
"Adventure is just around the corner.",
"Embrace change, and good things will follow.",
"Patience will bring you great rewards.",
];
rl.question("Welcome to the Fortune Teller! What's your name? ", (name) => {
const randomIndex = Math.floor(Math.random() * fortunes.length);
const randomFortune = fortunes[randomIndex];
console.log(`Hello, ${name}! Your fortune today: ${randomFortune}`);
rl.close();
});
Neste exemplo, aplicamos os conceitos acima para criar uma aplicação interativa no terminal. Usuários são solicitados a fornecer uma entrada, e a aplicação gera respostas aleatórias. O módulo Readline simplifica a interação do usuário na interface de linha de comando, tornando-o ideal para criar aplicações CLI interativas.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 2.56
Trabalhando com o Módulo Readline
Deslize para mostrar o menu
👋 Introdução ao Readline
O módulo Readline é um módulo nativo do Node.js que simplifica a leitura de entradas do usuário de forma interativa. Ele é frequentemente utilizado para criar prompts, coletar respostas dos usuários e construir sessões interativas de perguntas e respostas na interface de linha de comando.
📖 Compreendendo o Módulo Readline
Antes de partir para um exemplo prático, vamos explorar os conceitos principais e os métodos fornecidos pelo módulo Readline.
Criando uma Interface Readline
Para utilizar o módulo Readline, normalmente começamos criando uma interface Readline que gerencia os fluxos de entrada e saída. Veja como criar uma interface:
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
const rlrepresenta a interface Readline;readline.createInterface({ input: process.stdin, output: process.stdout })configura a interface para ler da entrada padrão (process.stdin) e escrever na saída padrão (process.stdout).
Coletando Entrada do Usuário
Depois de criar uma interface Readline, podemos utilizá-la para coletar a entrada do usuário. O método mais comum para esse propósito é o rl.question():
rl.question("Please enter your name: ", (name) => {
// User input is available as `name`
console.log(`Hello, ${name}!`);
rl.close();
});
rl.question("Please enter your name: ", (name) => { ... })solicita ao usuário uma entrada com a mensagem fornecida;- A função de callback
(name) => { ... }é executada quando o usuário insere sua resposta; namecontém a entrada do usuário.
Gerenciando a Interface
É importante fechar a interface Readline quando não for mais necessária. Isso pode ser feito utilizando rl.close().
🔧 Criando um Prompt Interativo
Agora que cobrimos o básico, vamos colocar nosso conhecimento em prática e criar um divertido adivinho de fortuna no terminal. Usuários irão digitar seus nomes e a aplicação irá gerar uma mensagem de sorte aleatória.
Aqui está o exemplo de código apresentado no vídeo:
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
const fortunes = [
"You will find unexpected joy in the little things.",
"A new opportunity will open doors for you.",
"Adventure is just around the corner.",
"Embrace change, and good things will follow.",
"Patience will bring you great rewards.",
];
rl.question("Welcome to the Fortune Teller! What's your name? ", (name) => {
const randomIndex = Math.floor(Math.random() * fortunes.length);
const randomFortune = fortunes[randomIndex];
console.log(`Hello, ${name}! Your fortune today: ${randomFortune}`);
rl.close();
});
Neste exemplo, aplicamos os conceitos acima para criar uma aplicação interativa no terminal. Usuários são solicitados a fornecer uma entrada, e a aplicação gera respostas aleatórias. O módulo Readline simplifica a interação do usuário na interface de linha de comando, tornando-o ideal para criar aplicações CLI interativas.
Obrigado pelo seu feedback!