Työ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, tutustutaan Readline-moduulin keskeisiin käsitteisiin ja menetelmiin.
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 rledustaa Readline-rajapintaa;readline.createInterface({ input: process.stdin, output: process.stdout })määrittää rajapinnan lukemaan standardisyötteestä (process.stdin) ja kirjoittamaan standarditulosteeseen (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ä;- Paluufunktio
(name) => { ... }suoritetaan, kun käyttäjä syöttää vastauksensa; namesisältää käyttäjän syötteen.
Rajapinnan hallinta
On tärkeää sulkea Readline-rajapinta, kun sitä ei enää tarvita. Tämä voidaan tehdä komennolla rl.close().
Interaktiivisen kehotteen luominen
Nyt kun perusteet ovat hallussa, voidaan soveltaa opittua ja luoda hauska komentorivillä toimiva ennustaja. Käyttäjät syöttävät nimensä, ja sovellus arpoo satunnaisen ennustusviestin.
Tässä on videolla esitetty esimerkkikoodi:
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 satunnaisia vastauksia. Readline-moduuli helpottaa käyttäjän vuorovaikutusta komentorivillä, mikä tekee siitä ihanteellisen interaktiivisten CLI-sovellusten toteuttamiseen.
- Rivi 1: tuo sisään sisäänrakennetun
readline-moduulin; - Rivit 3-6: luo
readline.Interface-olion nimeltärl. Se käyttääprocess.stdin- japrocess.stdout-virtoja käyttäjän syötteelle ja tulosteelle; - Rivit 8-14: luo taulukon nimeltä
fortunes, joka sisältää useita ennustuksia; - Rivi 16: käyttää
rl.question()-metodia kysyäkseen käyttäjän nimeä. Takaisinkutsufunktio suoritetaan, kun käyttäjä antaa syötteen; - Rivi 17: generoi satunnaisen indeksin käyttäen
Math.random()jaMath.floor()valitakseen ennustuksen; - Rivi 18: hakee ennustuksen annetusta indeksistä;
- Rivi 20: näyttää henkilökohtaisen ennustuksen, joka sisältää käyttäjän nimen ja valitun ennustuksen;
- Rivi 22: sulkee
readline-rajapinnan ja päättää vuorovaikutuksen.
Yhteenveto
Tämä koodi luo yksinkertaisen komentorivin ennustajasovelluksen käyttäen readline-moduulia. Se kerää käyttäjän nimen, valitsee satunnaisen ennustuksen taulukosta, näyttää tuloksen ja sulkee sovelluksen.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme