Kuidas lugeda järjestikuseid sisendeid Node.js lugemisliini mooduliga?

Kuidas Lugeda Jarjestikuseid Sisendeid Node Js Lugemisliini Mooduliga



' readline ” Node.js moodul sobib ideaalselt kasutamiseks stsenaariumides, kus lõppkasutajalt on vaja võtta rohkem kui üks järjestikune sisend. See moodul koondab standardväljundi ja sisendi, mis aitab lugeda sisendvoogu rida-realt ilma vastuvõetud andmeid vahele jätmata. ' readline ” moodul, muutub andmete reaalajas allalaadimise protseduur palju lihtsamaks ja kiiremaks.

See kirjutis selgitab järjestikuste sisendite lugemise protseduuri nodejs readline mooduliga.

Kuidas lugeda järjestikuseid sisendeid Node.js lugemisliini mooduliga?

Järjestikused sisendid on need, mis võtavad ja salvestavad järjestikku mitme küsimuse vastused korraga. Neid järjestikuseid päringuid esitatakse enamasti mõne kursusega liitumise või kontrollimise ajal. Allpool on toodud paar näidet järjestikuste sisendite lugemise rakendamiseks mooduli Node.js readline abil.







Näide 1: Järjestikuste sisendite lugemine Readline mooduli ja massiivide abil

Selles näites võetakse järjestikused sisendid ja loetakse need kasutades ' readline ” moodul. Sisendid salvestatakse massiivi, kust neid konsoolil kuvatakse:



konst readline = nõuda ( 'readline' ) ;

konst readline Interface = readline. loo liides ( {

sisend : protsessi. stdin ,

väljund : protsessi. stdout

} )

konst req0 = 'Mai! Kas ma tean su hüüdnime?' ;

konst req1 = 'Mis on Sinu hobi' ;

konst req2 = 'Mida sa armastad kuulata' ;

konst req3 = 'Mai! Ma tean su lemmikrooga?' ;

konst req4 = 'Kus sa elad?' ;

konst req5 = 'Mis on su lemmik värv' ;

konst req6 = 'Kes on su parim sõber' ;

konst reqArr = [ req0, req1, req2, req3, req4, req5, req6 ] ;

las res = '' ;

konst reqData = x => {

kui ( x < reqArr. pikkus ) {

readline Interface. küsimus ( reqArr [ x ] , ( reqResponse ) => {

res += ' \n ' + reqResponse ;

reqData ( x + 1 ) ;

} ) ;

} muidu {

konsool. logi ( `Aitäh jaoks minuga jagades ! $ { res } ` ) ;

readline Interface. Sulge ( ) ;

}

} ;

reqData ( 0 ) ;

Ülaltoodud koodilõigul kasutatud koodi kirjeldus on toodud allpool:



  • Alustage ' readline ' moodulit ja salvestage selle objekt muutujas nimega ' readline ”.
  • Järgmisena looge liides nimega ' readline Interface ' Selle eest ' readline ' objekt, mis mähib standardse sisend- ja väljundprotsessi kasutades ' createInterface() ” meetod. Samuti seostab see iga päringu ja vastuse ühe sisendiga loetava ja väljundiga kirjutatava vooga, kasutades ' protsessi ” vara.
  • Seejärel looge seitse ' konst ” tüüpi muutujad, et salvestada mõned päringud või küsimused, mida tuleb järjest küsida. Salvestage need konstandid ühte massiivi nimega ' reqArr ”.
  • Looge uus tühi muutuja ' res ', määrake noolefunktsioon nimega ' reqData ' ja edastage üks parameeter ' x ”.
  • Selle funktsiooni sees kasutage ' kui ' avaldus, mis kontrollib, kas antud parameetri väärtus on väiksem kui '' reqArr ' või mitte.
  • Tõe korral on ' küsimus () ” meetodit rakendatakse liidesele ja see kuvab iga massiivi päringu väljundis järjestikku. Seejärel edastab see neile vastavad esitatud väärtused argumendina.
  • Need argumendid salvestatakse juba loodud massiivi ' res ”.
  • Kui kõik päringud on konsoolis järjestikku kuvatud, kuvatakse tingimus ' kui ' väide muutub valeks ja ' muidu osa, ' res ” massiiv kuvatakse konsooli kohal.
  • Lõpuks suletakse ka lugemisliini liides, käivitades ' Sulge() ” meetod. Samuti kutsuge esile ' reqData() funktsioon ja edastage algväärtus ' 0 ” küsimuse alustamiseks ülevalt või esimesest massiivi saadaolevast küsimusest.

Nüüd käivitage see sisaldav fail, sisestades ' sõlm ' märksõna ' taga faili nimi ” terminalis:





sõlme kirjutamine

Väljund näitab, et programm on lugenud järjestikused sisendid ja tagastanud kõik korraga:

Näide 2: Järjestikuste sisendite lugemine Readline mooduli ja rekursiivse funktsiooni abil

Meetodis kasutatakse rekursiivset lähenemist koos ' readline ” Moodul Node.js, et lugeda sisendvoos kasutaja järjestikuseid sisendeid:



konst lugeda = nõuda ( 'readline' ) ;
konst readline Interface = lugeda. loo liides ( {
sisend : protsessi. stdin ,
väljund : protsessi. stdout
} )
oli reqArr = [ ]
funktsioon reqData ( x ) {
kui ( x > 3 )
{
vari keskmine = 0
jaoks ( j in reqArr )
{
keskmine += Number ( reqArr [ j ] )
}
konsool. logi ( keskmine / 3 ) ;
}
muidu
{
readline Interface. küsimus ( 'Sisestage' + x + 'arv kolmest:' ,    funktsioon ( reqResponse ) {
reqArr. suruma ( reqResponse )
reqData ( x + 1 )
} )
}
}

reqData ( 1 ) ;

Ülaltoodud koodi selgitust kirjeldatakse allpool täppide kujul:

  • Esiteks importige ' readline ' vastloodud ' write.js ' faili ja salvestage meetodi objekt ' lugeda ” muutuja. Looge liides, mis salvestab readline ' liides, mis luuakse '' kaudu createInterface() ” meetod.
  • Nüüd looge tühi massiiv nimega ' reqArr ' ja määratlege ' reqData() funktsioon, mis aktsepteerib ka ühte parameetrit nimega ' x ”.
  • Funktsioon kontrollib esmalt, kas antud väärtus on suurem kui ' 3 ' või mitte. Tõene korral otsitakse väärtused, mis tulevad „ x ' muutuja salvestatakse massiivi ja lisatakse üksikule muutujale nimega ' keskmine ”.
  • Pärast seda ' keskmine muutuja on jagatud arvuga ' 3 ', et leida keskmine, kuna maksimaalse lubatud arvu pikkus on ' 3 ” ja tulemus kuvatakse konsoolil.
  • Teises osas on ' küsimus () ' meetod on lisatud liidesega ' readlineInerface ”. See meetod kuvab sõnumi konsooli kaudu ja määratleb anonüümse funktsiooni.
  • Funktsioon aktsepteerib kasutaja sisestatud andmeid ja lisab need massiivi ' reqArr ”. See värskendab ka ' x ” iga kord ja edastab värskendatud väärtuse reqData() ” funktsioon. See tagab, et kasutaja sisestab ainult väärtused, mis on väiksemad kui kolm alates ' 0 ”. Lõpuks kutsuge esile ' reqData() ” funktsioon täitmisprotsessi käivitamiseks.

Nüüd käivitage see, mis sisaldab ' write.js ” faili sisestades „ sõlm ' märksõna ' taga faili nimi ” terminalis:

sõlme kirjutamine

Väljund kinnitab, et järjestikused sisendid loetakse ja nende keskmine kuvatakse üle konsooli, kasutades rekursiivse lähenemise ja lugemismooduli kombinatsiooni:

See juhend selgitab järjestikuste sisendite lugemist mooduli Node.js lugemisrea abil.

Järeldus

Järjestikuste sisendite lugemiseks mooduliga Node.js readline importige esmalt see moodul tööfailina ja looge liides, kasutades ' createInterface() ” meetod. See liides kutsub esile ' küsimus () ” meetod. See saadab kasutajale päringuid järjest ja edastab iga päringu vastavad vastused tagasihelistamise funktsioonile, et rakendada mõningaid toiminguid vastavalt nõuetele. Olete õppinud järjestikuste sisendite lugemist lugemisliini mooduli abil.