Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Työskentely Readline-moduulin Kanssa | Konsolisovellusten Rakentaminen Node.js:llä
Backend-kehitys Node.js:llä ja Express.js:llä

bookTyöskentely Readline-moduulin Kanssa

👋 Johdanto Readline-moduuliin

Readline-moduuli on Node.js:n sisäänrakennettu moduuli, joka helpottaa käyttäjän syötteen lukemista vuorovaikutteisesti. Sitä käytetään usein kehotteiden luomiseen, käyttäjän vastausten keräämiseen ja vuorovaikutteisten kysymys-vastaus -istuntojen rakentamiseen komentorivillä.

📖 Readline-moduulin perusteet

Ennen kuin siirrytään käytännön esimerkkiin, tarkastellaan Readline-moduulin keskeisiä käsitteitä ja menetelmiä.

Readline-rajapinnan luominen

Readline-moduulin käyttö aloitetaan yleensä luomalla Readline-rajapinta, joka hallitsee syöte- ja tulostusvirtoja. Näin luodaan rajapinta:

const readline = require("readline");

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});
  • const rl edustaa Readline-rajapintaa;
  • readline.createInterface({ input: process.stdin, output: process.stdout }) määrittää rajapinnan lukemaan vakiosyötteestä (process.stdin) ja kirjoittamaan vakiotulosteeseen (process.stdout).

Käyttäjän syötteen kerääminen

Kun Readline-rajapinta on luotu, sitä voidaan käyttää käyttäjän syötteen keräämiseen. Yleisin menetelmä tähän tarkoitukseen on 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) => { ... }) pyytää käyttäjää syöttämään tietoa annetulla viestillä;
  • Palautefunktio (name) => { ... } suoritetaan, kun käyttäjä syöttää vastauksensa;
  • name sisältää käyttäjän syötteen.

Rajapinnan hallinta

On tärkeää sulkea Readline-rajapinta, kun sitä ei enää tarvita. Tämä tehdään komennolla rl.close().

🔧 Interaktiivisen kehotteen luominen

Nyt kun perusasiat ovat hallussa, hyödynnetään osaamistamme ja luodaan hauska komentorivillä toimiva ennustaja. Käyttäjät syöttävät nimensä, ja sovellus arpoo satunnaisen ennustusviestin.

Tässä on videolla esitetty koodiesimerkki:

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

Tässä esimerkissä on hyödynnetty aiemmin käsiteltyjä käsitteitä interaktiivisen komentorivisovelluksen luomiseksi. Käyttäjältä pyydetään syöte, ja sovellus tuottaa satunnaisen vastauksen. Readline-moduuli helpottaa käyttäjän kanssa vuorovaikuttamista komentorivillä, mikä tekee siitä ihanteellisen interaktiivisten CLI-sovellusten rakentamiseen.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 7

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Awesome!

Completion rate improved to 2.56

bookTyöskentely Readline-moduulin Kanssa

Pyyhkäise näyttääksesi valikon

👋 Johdanto Readline-moduuliin

Readline-moduuli on Node.js:n sisäänrakennettu moduuli, joka helpottaa käyttäjän syötteen lukemista vuorovaikutteisesti. Sitä käytetään usein kehotteiden luomiseen, käyttäjän vastausten keräämiseen ja vuorovaikutteisten kysymys-vastaus -istuntojen rakentamiseen komentorivillä.

📖 Readline-moduulin perusteet

Ennen kuin siirrytään käytännön esimerkkiin, tarkastellaan Readline-moduulin keskeisiä käsitteitä ja menetelmiä.

Readline-rajapinnan luominen

Readline-moduulin käyttö aloitetaan yleensä luomalla Readline-rajapinta, joka hallitsee syöte- ja tulostusvirtoja. Näin luodaan rajapinta:

const readline = require("readline");

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});
  • const rl edustaa Readline-rajapintaa;
  • readline.createInterface({ input: process.stdin, output: process.stdout }) määrittää rajapinnan lukemaan vakiosyötteestä (process.stdin) ja kirjoittamaan vakiotulosteeseen (process.stdout).

Käyttäjän syötteen kerääminen

Kun Readline-rajapinta on luotu, sitä voidaan käyttää käyttäjän syötteen keräämiseen. Yleisin menetelmä tähän tarkoitukseen on 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) => { ... }) pyytää käyttäjää syöttämään tietoa annetulla viestillä;
  • Palautefunktio (name) => { ... } suoritetaan, kun käyttäjä syöttää vastauksensa;
  • name sisältää käyttäjän syötteen.

Rajapinnan hallinta

On tärkeää sulkea Readline-rajapinta, kun sitä ei enää tarvita. Tämä tehdään komennolla rl.close().

🔧 Interaktiivisen kehotteen luominen

Nyt kun perusasiat ovat hallussa, hyödynnetään osaamistamme ja luodaan hauska komentorivillä toimiva ennustaja. Käyttäjät syöttävät nimensä, ja sovellus arpoo satunnaisen ennustusviestin.

Tässä on videolla esitetty koodiesimerkki:

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

Tässä esimerkissä on hyödynnetty aiemmin käsiteltyjä käsitteitä interaktiivisen komentorivisovelluksen luomiseksi. Käyttäjältä pyydetään syöte, ja sovellus tuottaa satunnaisen vastauksen. Readline-moduuli helpottaa käyttäjän kanssa vuorovaikuttamista komentorivillä, mikä tekee siitä ihanteellisen interaktiivisten CLI-sovellusten rakentamiseen.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 7
some-alt