Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Trabajando con el Módulo Readline | Creación de Aplicaciones de Consola con Node.js
Desarrollo Backend con Node.js y Express.js

bookTrabajando con el Módulo Readline

👋 Introducción al módulo Readline

El módulo Readline es un módulo incorporado en Node.js que simplifica la lectura de entradas del usuario de manera interactiva. Se utiliza frecuentemente para crear solicitudes, recopilar respuestas de usuarios y construir sesiones interactivas de preguntas y respuestas en la interfaz de línea de comandos.

📖 Comprensión del módulo Readline

Antes de profundizar en un ejemplo del mundo real, exploremos los conceptos y métodos principales que proporciona el módulo Readline.

Creación de una interfaz Readline

Para utilizar el módulo Readline, normalmente se comienza creando una interfaz Readline que gestiona los flujos de entrada y salida. Así es como se crea una interfaz:

const readline = require("readline");

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});
  • const rl representa la interfaz Readline;
  • readline.createInterface({ input: process.stdin, output: process.stdout }) configura la interfaz para leer desde la entrada estándar (process.stdin) y escribir en la salida estándar (process.stdout).

Recolección de la entrada del usuario

Una vez que tenemos una interfaz Readline, podemos utilizarla para recolectar la entrada del usuario. El método más común para este propósito es 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 al usuario una entrada con el mensaje proporcionado;
  • La función de devolución de llamada (name) => { ... } se ejecuta cuando el usuario introduce su respuesta;
  • name contiene la entrada del usuario.

Gestión de la interfaz

Es importante cerrar la interfaz Readline cuando hayamos terminado de utilizarla. Esto se puede hacer usando rl.close().

🔧 Creación de un mensaje interactivo

Ahora que hemos cubierto los conceptos básicos, pongamos en práctica nuestros conocimientos y creemos un adivinador de la fortuna en la línea de comandos. Los usuarios ingresarán sus nombres y la aplicación generará un mensaje de fortuna aleatorio.

Aquí tienes el ejemplo de código del video:

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();
});

En este ejemplo, hemos aplicado los conceptos anteriores para crear una aplicación interactiva en la línea de comandos. Se solicita la entrada del usuario y la aplicación genera respuestas aleatorias. El módulo Readline simplifica la interacción con el usuario en la interfaz de línea de comandos, lo que lo hace ideal para crear aplicaciones CLI interactivas.

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 7

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

Can you explain how rl.question() works in more detail?

What are some other use cases for the Readline module?

How can I customize the fortune messages in the example?

Awesome!

Completion rate improved to 2.56

bookTrabajando con el Módulo Readline

Desliza para mostrar el menú

👋 Introducción al módulo Readline

El módulo Readline es un módulo incorporado en Node.js que simplifica la lectura de entradas del usuario de manera interactiva. Se utiliza frecuentemente para crear solicitudes, recopilar respuestas de usuarios y construir sesiones interactivas de preguntas y respuestas en la interfaz de línea de comandos.

📖 Comprensión del módulo Readline

Antes de profundizar en un ejemplo del mundo real, exploremos los conceptos y métodos principales que proporciona el módulo Readline.

Creación de una interfaz Readline

Para utilizar el módulo Readline, normalmente se comienza creando una interfaz Readline que gestiona los flujos de entrada y salida. Así es como se crea una interfaz:

const readline = require("readline");

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});
  • const rl representa la interfaz Readline;
  • readline.createInterface({ input: process.stdin, output: process.stdout }) configura la interfaz para leer desde la entrada estándar (process.stdin) y escribir en la salida estándar (process.stdout).

Recolección de la entrada del usuario

Una vez que tenemos una interfaz Readline, podemos utilizarla para recolectar la entrada del usuario. El método más común para este propósito es 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 al usuario una entrada con el mensaje proporcionado;
  • La función de devolución de llamada (name) => { ... } se ejecuta cuando el usuario introduce su respuesta;
  • name contiene la entrada del usuario.

Gestión de la interfaz

Es importante cerrar la interfaz Readline cuando hayamos terminado de utilizarla. Esto se puede hacer usando rl.close().

🔧 Creación de un mensaje interactivo

Ahora que hemos cubierto los conceptos básicos, pongamos en práctica nuestros conocimientos y creemos un adivinador de la fortuna en la línea de comandos. Los usuarios ingresarán sus nombres y la aplicación generará un mensaje de fortuna aleatorio.

Aquí tienes el ejemplo de código del video:

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();
});

En este ejemplo, hemos aplicado los conceptos anteriores para crear una aplicación interactiva en la línea de comandos. Se solicita la entrada del usuario y la aplicación genera respuestas aleatorias. El módulo Readline simplifica la interacción con el usuario en la interfaz de línea de comandos, lo que lo hace ideal para crear aplicaciones CLI interactivas.

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 7
some-alt