Kako brati zaporedne vnose z modulom Readline Node.js?

Kako Brati Zaporedne Vnose Z Modulom Readline Node Js



' readline ” Modul Node.js je idealen za uporabo v scenarijih, kjer je treba od končnega uporabnika sprejeti več kot en zaporedni vnos. Ta modul ovije standardni izhod in vhod, kar pomaga pri branju vhodnega toka vrstico za vrstico, ne da bi preskočili prejete podatke. S prihodom » readline ” postane postopek pridobivanja podatkov v realnem času veliko lažji in hitrejši.

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šča

Izhod 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.