Ta zapis pojasnjuje postopek za branje zaporednih vnosov z modulom nodejs readline.
Kako brati zaporedne vnose z modulom Readline Node.js?
Zaporedni vnosi so tisti, ki sprejmejo in shranijo odgovore za več vprašanj hkrati na zaporedni način. Te zaporedne poizvedbe so večinoma zastavljene med pridružitvijo nekaterim tečajem ali v času preverjanja. Spodaj je navedenih nekaj primerov za izvedbo branja zaporednih vnosov z uporabo modula readline Node.js.
Primer 1: Branje zaporednih vnosov z uporabo modula Readline in nizov
V tem primeru se zaporedni vnosi vzamejo in preberejo z uporabo ' readline ” modul. Vnosi so shranjeni v matriki, od koder so prikazani na konzoli:
konst readline = zahtevati ( 'readline' ) ;
konst readlineInterface = readline. createInterface ( {
vnos : postopek. stdin ,
izhod : postopek. stdout
} )
konst req0 = 'Maj! Poznam tvoj vzdevek?' ;
konst req1 = 'Kaj je tvoj konjiček' ;
konst req2 = 'Kaj rad poslušaš' ;
konst req3 = 'Maj! Poznam tvojo najljubšo jed?' ;
konst req4 = 'Kje živiš?' ;
konst req5 = 'Katera je tvoja najljubša barva' ;
konst req6 = 'Kdo je tvoj najboljši prijatelj' ;
konst reqArr = [ req0, req1, req2, req3, req4, req5, req6 ] ;
naj res = '' ;
konst reqData = x => {
če ( x < reqArr. dolžina ) {
readlineInterface. vprašanje ( reqArr [ x ] , ( reqResponse ) => {
res += ' \n ' + reqResponse ;
reqData ( x + 1 ) ;
} ) ;
} drugače {
konzola. dnevnik ( `Hvala za deli z mano ! $ { res } ` ) ;
readlineInterface. blizu ( ) ;
}
} ;
reqData ( 0 ) ;
Opis kode, uporabljene v zgornjem izrezku kode, je naveden spodaj:
- Začnite z uvozom » readline ” in shranite njegov objekt v spremenljivko z imenom “ readline ”.
- Nato ustvarite vmesnik z imenom ' readlineInterface ' za ' readline ', ki ovije standardni vhodni in izhodni proces z uporabo ' createInterface() ” metoda. Prav tako povezuje vsako zahtevo in odgovor z enim samim vhodnim berljivim in izhodnim zapisljivim tokom z uporabo ' postopek ” lastnina.
- Nato ustvarite sedem ' konst ” spremenljivke tipa za shranjevanje nekaterih zahtev ali vprašanj, ki jih je treba postaviti zaporedno. Shranite te konstante v eno samo matriko z imenom ' reqArr ”.
- Ustvari novo prazno spremenljivko ' res «, definirajte puščično funkcijo z imenom » reqData « in posredujte en sam parameter » x ”.
- Znotraj te funkcije uporabite » če ', ki preveri, ali je vrednost podanega parametra manjša od dolžine ' reqArr « ali ne.
- V primeru res, ' vprašanje() ” se uporabi za vmesnik in zaporedno prikaže vsako zahtevo iz matrike preko izhoda. Nato posreduje njihove ustrezne podane vrednosti kot argument.
- Ti argumenti so shranjeni v že ustvarjeni matriki ' res ”.
- Ko so vse zahteve zaporedno prikazane na konzoli, je pogoj ' če ' izjava postane napačna in v ' drugače ' del, ' res ” se prikaže nad konzolo.
- Končno se tudi vmesnik readline zapre s klicem » zapri() ” metoda. Prikličite tudi » zahtevaniPodatki() ' in posreduje začetno vrednost ' 0 ”, če želite vprašanje začeti z vrha ali od prvega vprašanja, ki je na voljo v nizu.
Zdaj izvedite to vsebovalno datoteko tako, da vnesete » vozlišče » ključna beseda za » Ime datoteke ” na terminalu:
pisanje vozlišča
Izhod pokaže, da je program prebral zaporedne vnose in vrnil vse hkrati:
Primer 2: Branje zaporednih vnosov z uporabo modula Readline in rekurzivne funkcije
V metodi se uporablja rekurzivni pristop z ' readline ” Modul Node.js za branje zaporednih vnosov uporabnika v vhodnem toku:
konst prebrati = zahtevati ( 'readline' ) ;
konst readlineInterface = prebrati. createInterface ( {
vnos : postopek. stdin ,
izhod : postopek. stdout
} )
je bil reqArr = [ ]
funkcija reqData ( x ) {
če ( x > 3 )
{
var povprečje = 0
za ( j v reqArr )
{
povprečje += številka ( reqArr [ j ] )
}
konzola. dnevnik ( povprečje / 3 ) ;
}
drugače
{
readlineInterface. vprašanje ( 'Vnesite' + x + 'številka od 3:' , funkcija ( reqResponse ) {
reqArr. potiskati ( reqResponse )
reqData ( x + 1 )
} )
}
}
reqData ( 1 ) ;
Razlaga zgornje kode je opisana spodaj v obliki točk:
- Najprej uvozite » readline »v novo ustvarjenem« write.js ' in shranite predmet metode v ' prebrati ” spremenljivka. Ustvarite vmesnik, ki shranjuje » readline «, ki je ustvarjen prek » createInterface() ” metoda.
- Zdaj ustvarite prazno matriko z imenom ' reqArr « in definirajte » zahtevaniPodatki() ' funkcija, ki sprejme tudi en sam parameter z imenom ' x ”.
- Funkcija najprej preveri, ali je navedena vrednost večja od ' 3 « ali ne. V primeru true so pridobljene vrednosti, ki prihajajo v ' x ” se shrani v matriko in doda eni spremenljivki z imenom “ povprečje ”.
- Po tem je ' povprečje ' spremenljivka je deljena z ' 3 ', da bi našli povprečje, saj je dolžina največjega dovoljenega števila ' 3 ” in rezultat se prikaže na konzoli.
- V drugem delu je ' vprašanje() » metoda je priložena vmesniku « readlineInerface ”. Ta metoda prikaže sporočilo prek konzole in definira anonimno funkcijo.
- Funkcija sprejme vnesene podatke uporabnika in te podatke doda v polje ' reqArr ”. Prav tako posodobi vrednost ' x « vsakič in posreduje posodobljeno vrednost v » zahtevaniPodatki() ”. To bo zagotovilo, da bo uporabnik vnesel samo vrednosti, manjše od tri, začenši z ' 0 ”. Končno pokličite ' zahtevaniPodatki() ” za začetek postopka izvajanja.
Zdaj izvedite to, ki vsebuje ' write.js ', tako da vnesete ' vozlišče » ključna beseda za » Ime datoteke ” na terminalu:
pisanje vozliščaIzhod potrjuje, da so zaporedni vnosi prebrani in da je njihovo povprečje prikazano na konzoli z uporabo kombinacije rekurzivnega pristopa in modula readline:
Ta priročnik razlaga postopek za branje zaporednih vnosov z modulom readline Node.js.
Zaključek
Če želite brati zaporedne vnose z modulom readline Node.js, najprej uvozite ta modul v delovno datoteko in ustvarite vmesnik z uporabo ' createInterface() ” metoda. Ta vmesnik prikliče » vprašanje() ” metoda. Zaporedoma pošilja zahteve uporabniku in posreduje ustrezne odgovore vsake zahteve funkciji povratnega klica, da uporabi nekatere operacije v skladu z zahtevami. Naučili ste se postopka branja zaporednih vnosov z uporabo modula readline.