Arbeide med Readline-modulen
Sveip for å vise menyen
Komme i gang med Readline
Readline-modulen er en innebygd modul i Node.js som forenkler innlesing av input fra brukeren på en interaktiv måte. Den brukes ofte til å lage spørsmålsprompter, samle inn brukerrespons og bygge interaktive spørsmål-og-svar-økter i kommandolinjegrensesnittet.
Forstå Readline-modulen
Før vi går inn i et praktisk eksempel, skal vi utforske kjernebegrepene og metodene som tilbys av Readline-modulen.
Opprette et Readline-grensesnitt
For å bruke Readline-modulen starter vi vanligvis med å opprette et Readline-grensesnitt som håndterer input- og output-strømmer. Slik oppretter vi et grensesnitt:
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
const rlrepresenterer Readline-grensesnittet;readline.createInterface({ input: process.stdin, output: process.stdout })setter opp grensesnittet til å lese fra standard input (process.stdin) og skrive til standard output (process.stdout).
Innhenting av brukerinput
Når vi har et Readline-grensesnitt, kan vi bruke det til å hente inn brukerinput. Den vanligste metoden for dette formålet er 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) => { ... })viser en melding til brukeren for å be om input;- Tilbakekallingsfunksjonen
(name) => { ... }kjøres når brukeren har skrevet inn sitt svar; nameinneholder brukerens input.
Håndtering av grensesnittet
Det er viktig å lukke Readline-grensesnittet når vi er ferdige med det. Dette kan gjøres med rl.close().
Lage en interaktiv prompt
Nå som vi har gått gjennom det grunnleggende, kan vi bruke kunnskapen vår til å lage en morsom kommandolinje-basert spådomsgenerator. Brukere skriver inn navnet sitt, og applikasjonen genererer en tilfeldig spådomsmelding.
Her er kodeeksempelet fra videoen:
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();
});
I dette eksempelet har vi brukt konseptene ovenfor for å lage en interaktiv kommandolinjeapplikasjon. Brukere blir bedt om å skrive inn data, og applikasjonen genererer tilfeldige svar. Readline-modulen forenkler brukerinteraksjon i kommandolinjegrensesnittet, noe som gjør den ideell for å lage interaktive CLI-applikasjoner.
- Linje 1: importerer den innebygde
readline-modulen; - Linje 3-6: oppretter en
readline.Interface-instans kaltrl. Den bruker strømmeneprocess.stdinogprocess.stdoutfor brukerinput og -output; - Linje 8-14: oppretter et array kalt
fortunessom inneholder flere spådomsmeldinger; - Linje 16: bruker
rl.question()for å be brukeren om navnet sitt. Tilbakekallingsfunksjonen kjøres etter at brukeren har skrevet inn et svar; - Linje 17: genererer en tilfeldig indeks ved hjelp av
Math.random()ogMath.floor()for å velge en spådomsmelding; - Linje 18: henter spådomsmeldingen som er lagret på den genererte indeksen;
- Linje 20: viser en personlig spådomsmelding som inneholder brukerens navn og den valgte spådommen;
- Linje 22: lukker
readline-grensesnittet og avslutter interaksjonen.
Oppsummering
Denne koden lager en enkel kommandolinjeapplikasjon for spådommer ved hjelp av readline-modulen. Den samler inn brukerens navn, velger en tilfeldig spådom fra et array, viser resultatet og avslutter applikasjonen.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Arbeide med Readline-modulen
Komme i gang med Readline
Readline-modulen er en innebygd modul i Node.js som forenkler innlesing av input fra brukeren på en interaktiv måte. Den brukes ofte til å lage spørsmålsprompter, samle inn brukerrespons og bygge interaktive spørsmål-og-svar-økter i kommandolinjegrensesnittet.
Forstå Readline-modulen
Før vi går inn i et praktisk eksempel, skal vi utforske kjernebegrepene og metodene som tilbys av Readline-modulen.
Opprette et Readline-grensesnitt
For å bruke Readline-modulen starter vi vanligvis med å opprette et Readline-grensesnitt som håndterer input- og output-strømmer. Slik oppretter vi et grensesnitt:
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
const rlrepresenterer Readline-grensesnittet;readline.createInterface({ input: process.stdin, output: process.stdout })setter opp grensesnittet til å lese fra standard input (process.stdin) og skrive til standard output (process.stdout).
Innhenting av brukerinput
Når vi har et Readline-grensesnitt, kan vi bruke det til å hente inn brukerinput. Den vanligste metoden for dette formålet er 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) => { ... })viser en melding til brukeren for å be om input;- Tilbakekallingsfunksjonen
(name) => { ... }kjøres når brukeren har skrevet inn sitt svar; nameinneholder brukerens input.
Håndtering av grensesnittet
Det er viktig å lukke Readline-grensesnittet når vi er ferdige med det. Dette kan gjøres med rl.close().
Lage en interaktiv prompt
Nå som vi har gått gjennom det grunnleggende, kan vi bruke kunnskapen vår til å lage en morsom kommandolinje-basert spådomsgenerator. Brukere skriver inn navnet sitt, og applikasjonen genererer en tilfeldig spådomsmelding.
Her er kodeeksempelet fra videoen:
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();
});
I dette eksempelet har vi brukt konseptene ovenfor for å lage en interaktiv kommandolinjeapplikasjon. Brukere blir bedt om å skrive inn data, og applikasjonen genererer tilfeldige svar. Readline-modulen forenkler brukerinteraksjon i kommandolinjegrensesnittet, noe som gjør den ideell for å lage interaktive CLI-applikasjoner.
- Linje 1: importerer den innebygde
readline-modulen; - Linje 3-6: oppretter en
readline.Interface-instans kaltrl. Den bruker strømmeneprocess.stdinogprocess.stdoutfor brukerinput og -output; - Linje 8-14: oppretter et array kalt
fortunessom inneholder flere spådomsmeldinger; - Linje 16: bruker
rl.question()for å be brukeren om navnet sitt. Tilbakekallingsfunksjonen kjøres etter at brukeren har skrevet inn et svar; - Linje 17: genererer en tilfeldig indeks ved hjelp av
Math.random()ogMath.floor()for å velge en spådomsmelding; - Linje 18: henter spådomsmeldingen som er lagret på den genererte indeksen;
- Linje 20: viser en personlig spådomsmelding som inneholder brukerens navn og den valgte spådommen;
- Linje 22: lukker
readline-grensesnittet og avslutter interaksjonen.
Oppsummering
Denne koden lager en enkel kommandolinjeapplikasjon for spådommer ved hjelp av readline-modulen. Den samler inn brukerens navn, velger en tilfeldig spådom fra et array, viser resultatet og avslutter applikasjonen.
Takk for tilbakemeldingene dine!