Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Робота з модулем Readline | Створення Консольних Застосунків з Node.js
Розробка бекенду з Node.js та Express.js

bookРобота з модулем Readline

👋 Початок роботи з Readline

Модуль Readline — це вбудований модуль у Node.js, який спрощує зчитування введення користувача в інтерактивному режимі. Його часто використовують для створення підказок, збору відповідей користувача та побудови інтерактивних сесій запитань і відповідей у командному рядку.

📖 Огляд модуля Readline

Перш ніж перейти до практичного прикладу, розглянемо основні поняття та методи, які надає модуль Readline.

Створення інтерфейсу Readline

Щоб використовувати модуль Readline, зазвичай починають зі створення інтерфейсу Readline, який керує потоками введення та виведення. Ось як створити інтерфейс:

const readline = require("readline");

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});
  • const rl — представляє інтерфейс Readline;
  • readline.createInterface({ input: process.stdin, output: process.stdout }) налаштовує інтерфейс для читання зі стандартного введення (process.stdin) та запису у стандартний вивід (process.stdout).

Збір введення користувача

Після створення інтерфейсу Readline його можна використовувати для збору введення користувача. Найпоширеніший метод для цього — 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) => { ... }) виводить користувачу запит із вказаним повідомленням;
  • Функція зворотного виклику (name) => { ... } виконується після введення відповіді користувачем;
  • name містить введене користувачем значення.

Керування інтерфейсом

Важливо закривати інтерфейс Readline після завершення роботи з ним. Це можна зробити за допомогою rl.close().

🔧 Створення інтерактивного запиту

Тепер, коли ми розглянули основи, застосуємо наші знання на практиці та створимо цікаву консольну програму-провісника. Користувачі вводитимуть свої імена, а застосунок генеруватиме випадкове передбачення.

Ось приклад коду з відео:

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

У цьому прикладі застосовано розглянуті концепції для створення інтерактивної консольної програми. Користувачам пропонується ввести дані, а застосунок генерує випадкові відповіді. Модуль Readline спрощує взаємодію з користувачем у командному рядку, що робить його ідеальним для створення інтерактивних CLI-застосунків.

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 7

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

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

bookРобота з модулем Readline

Свайпніть щоб показати меню

👋 Початок роботи з Readline

Модуль Readline — це вбудований модуль у Node.js, який спрощує зчитування введення користувача в інтерактивному режимі. Його часто використовують для створення підказок, збору відповідей користувача та побудови інтерактивних сесій запитань і відповідей у командному рядку.

📖 Огляд модуля Readline

Перш ніж перейти до практичного прикладу, розглянемо основні поняття та методи, які надає модуль Readline.

Створення інтерфейсу Readline

Щоб використовувати модуль Readline, зазвичай починають зі створення інтерфейсу Readline, який керує потоками введення та виведення. Ось як створити інтерфейс:

const readline = require("readline");

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});
  • const rl — представляє інтерфейс Readline;
  • readline.createInterface({ input: process.stdin, output: process.stdout }) налаштовує інтерфейс для читання зі стандартного введення (process.stdin) та запису у стандартний вивід (process.stdout).

Збір введення користувача

Після створення інтерфейсу Readline його можна використовувати для збору введення користувача. Найпоширеніший метод для цього — 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) => { ... }) виводить користувачу запит із вказаним повідомленням;
  • Функція зворотного виклику (name) => { ... } виконується після введення відповіді користувачем;
  • name містить введене користувачем значення.

Керування інтерфейсом

Важливо закривати інтерфейс Readline після завершення роботи з ним. Це можна зробити за допомогою rl.close().

🔧 Створення інтерактивного запиту

Тепер, коли ми розглянули основи, застосуємо наші знання на практиці та створимо цікаву консольну програму-провісника. Користувачі вводитимуть свої імена, а застосунок генеруватиме випадкове передбачення.

Ось приклад коду з відео:

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

У цьому прикладі застосовано розглянуті концепції для створення інтерактивної консольної програми. Користувачам пропонується ввести дані, а застосунок генерує випадкові відповіді. Модуль Readline спрощує взаємодію з користувачем у командному рядку, що робить його ідеальним для створення інтерактивних CLI-застосунків.

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 7
some-alt