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ä
Quizzes & Challenges
Quizzes
Challenges
/
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 sekä interaktiivisten kysymys-vastaus -istuntojen rakentamiseen komentorivillä.

Readline-moduulin perusteet

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

Readline-rajapinnan luominen

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

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) => { ... }) näyttää käyttäjälle viestin ja pyytää syötettä;
  • Paluuarvona toimiva funktio (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ä onnistuu komennolla rl.close().

Interaktiivisen kehotteen luominen

Nyt kun perusteet ovat hallussa, hyödynnetään opittua 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ä yllä olevia käsitteitä on sovellettu interaktiivisen komentorivisovelluksen luomiseen. Käyttäjältä pyydetään syöte, ja sovellus tuottaa satunnaisen vastauksen. Readline-moduuli helpottaa käyttäjän vuorovaikutusta komentorivillä, mikä tekee siitä ihanteellisen interaktiivisten CLI-sovellusten toteuttamiseen.

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 sekä interaktiivisten kysymys-vastaus -istuntojen rakentamiseen komentorivillä.

Readline-moduulin perusteet

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

Readline-rajapinnan luominen

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

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) => { ... }) näyttää käyttäjälle viestin ja pyytää syötettä;
  • Paluuarvona toimiva funktio (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ä onnistuu komennolla rl.close().

Interaktiivisen kehotteen luominen

Nyt kun perusteet ovat hallussa, hyödynnetään opittua 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ä yllä olevia käsitteitä on sovellettu interaktiivisen komentorivisovelluksen luomiseen. Käyttäjältä pyydetään syöte, ja sovellus tuottaa satunnaisen vastauksen. Readline-moduuli helpottaa käyttäjän vuorovaikutusta komentorivillä, mikä tekee siitä ihanteellisen interaktiivisten CLI-sovellusten toteuttamiseen.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 7
some-alt